Developing a REN Staking Pool, looking for contributors

Hi there,

I’m building a staking pool for the REN protocol (this is not official) and would love to have some help and feedback from the community. I’m looking for devs, testers and anybody in general interested in this topic.

The project is still in early stages but there is already a working prototype deployed on Rinkeby (testnet): https://renpool.netlify.app/. ATM you can only deposit and withdraw funds. The next step would be to start integrating with the REN protocol to instantiate a darknode once the 100k tokens mark is reached and then being able to claim and distribute the rewards among all stakers.

The project is open source: GitHub - Ethernautas/renpool

The tech stack is as follows:
Frontend: React, ethers.js, web3-react
Backend: Vyper, brownie

My idea is the build the simplest possible product to get started, nothing fanzy. Once that milestone is reached we can think about future improvements.

Please, don’t hesitate to reach out with questions and suggestions :slight_smile:

Thanks!

1 Like

Welcome to the forum! This is a very interesting idea for a first post. As a Python developer it is great to see more people using Vyper.

The readme in your repo replicates a lot of text from renpool.io’s homepage. Are you affiliated with them, or planning to duplicate their model?

If the latter, have you considered building a decentralised staking service instead? IMO this is better for the health of the network, as centralised staking services are inherently quite high-risk.

There seems to be a perception (even from our favourite bard) that centralised staking services are the only option for pooling. Has someone conclusively proved that building a decentralised staking service on Ren is impossible? I have briefly looked at the registration contracts and at first glance it looks as though something similar to RocketPool’s model would work.

2 Likes

Hey @jadno thanks for reaching out!

Replying to your questions:

I’m not affiliated to the renpool.io project. I’ve seen the website and I like some of the ideas they propose but I don’t know who they are. Concerning duplicating the model, as you mention, I’d like to avoid a centralized solution and rather go with a RocketPool approach where anyone could launch their own pool instance and take care of the node themselves.

In this regard, the project is still in early stages so many things need to be decided. In general terms, I’d like to start with a simple solution (that’s way I ‘borrowed’ the Lido UI for now) until we get an integration with the REN protocol fully working. I think that’s the most challenging part. After that milestone is reached we could move to the RocketPool approach and allow anybody to deploy an instance of the contract and take care of the maintenance. I think this could be easily done from the frontend via a factory: https://docs.ethers.io/v5/api/contract/contract-factory/

Again, if you’d like to help with the code/ideas, I’ll be more than happy to answer any questions and walk you through the code to get you setup. Have you tried brownie before? It’s a really nice CL solution for developing smart contracts on Ethereum, it’s built on Python.

Let me know if I can help somehow!

1 Like

Just setup a Discord server to chat about the project in more details in case someone is interested → https://discord.gg/WTdRcPZz95

2 Likes

There’s no decentralized way to spin up AWS or DO instances.

Interesting stuff. I do not have the bandwidth to contribute but will be interested to follow the progress. I have tried brownie but only for hello world experiments.

1 Like

Yes, the same challenge exists in decentralised ETH staking. One person is always responsible for running the node. AFAICT the solutions other teams have come up with for ETH staking will likely work for Ren.

1 Like