stereum-dev / ethereum-node

Run an Ethereum node, solo stake ETH and connect dApps to your server with Stereum Ethereum Node Setup & Manager!
https://www.stereum.com/?utm_source=github&utm_medium=stereum-repo&utm_id=0
MIT License
112 stars 43 forks source link

ROCKET POOL - Implementation - Grant Overview #923

Closed daGscheid closed 1 year ago

daGscheid commented 1 year ago

PROPOSAL DRAFT

=== Project ===

What is the work being proposed?



Our main goal with this grant is to offer an additional way to set up & maintain a Rocket Pool Node for a broader audience through our Ethereum Node management software called "Stereum" alongside other Ethereum related services like execution/consensus clients, SSV clients, etc. Stereum is free to use & simple to set up. There is no command line step involved and through our GUI Launcher you are able to access & manage an Ethereum Node securely without losing any amount of control.


Is there any related work this builds off of?


Stereum is an existing Free & Open Source Ethereum Node Setup Tool. Simplified SAID: You use Stereum to connect to a server (cloud, VM, local), choose how you want to install your node and in a few steps, your server is prepared and your node installed. Through the Launcher you execute the commands on your server. You can try out Stereum for free yourself, or (if you feel a little lazy 😀) just take a look to see how easy it is to actually set up a Node with Stereum

Stereum_Installation_Process.webm


Stereum features a simple to use UI that:



=== Benefits ===

How does this help people looking to stake ETH for rETH?



N/A



How does this help rETH holders?



N/A



How does this help people looking to run a Rocket Pool node for the first time?


For the first milestone we want to offer a Rocket Pool themed One Click Installation option (including / excluding MEV Boost) reducing the Node Setup to three clicks to help onboard people who are intimidated by the current CLI option. And while the designs should be far from considered final, we hope the following videos will give you a better idea of what we had in mind:

https://user-images.githubusercontent.com/82385103/207671216-77ad83aa-0b8f-404a-a14e-fc6d5007592c.mp4

Display Rocket Pool specific Alerts & Notifications for monitoring

https://user-images.githubusercontent.com/82385103/207851648-69409b97-1fb5-410c-9465-462a045ecc74.mp4

And support various Rocket Pool Pool management commands (node, service, minipool)...

https://user-images.githubusercontent.com/82385103/207854144-b86b71bc-4545-4d00-9fc5-ec7fd93d20ee.mp4

And make pool creation, import & maintenance as easy possible, by guiding through, displaying and monitoring various stats surrounding the minipools.

Rocketpool_-_Minipool_Import_AdobeExpress (1)

To give you a better feeling on how the complete Rocket Pool Node Setup User Flow - by importing a wallet or by creating one inside of Stereum could look like. (PLEASE NOTE: designs are not final & subject to change):

RPL User Flow (2)



How does this help people already running a Rocket Pool node?


The integration has not only a goal of helping newbies in setting up their own node, but also takes great pride in supporting veterans with simple access to necessary node components. F.e. with a simple double click on of the node clients, you can access its logs and take a look under the hood of the Ethereum Node OR with a click you can open and close the port to use your RPC endpoint.

How does this help the Rocket Pool community?




=== Team ===

Who is doing the work?



The work is done by the Stereum team of the RockLogic GmbH. Our Stereum team is 10 people large.



What is the background of the person(s) doing the work? What experience do they have with such projects in the past?



RockLogic GmbH was founded in 2012 and is operating out of Austria, companie's core business is in IT infrastructure and devops, with additional gained experience in various development projects. We started and follow with the work on the predecessors of Stereum whenever the beacon chain first came into being.



What is the breakdown of the proposed work, in terms of milestones and/or deadlines?



Milestone 1# - Minimal Setup for Public Testing & Feedback

We want to start with a simple implementation with the first milestone that we can open up to public testing.

This will result in:

  • Rocket Pool Node Setup in Stereum (with 1 execution and 1 consensus client pair)
    • Install via OneClickInstaller (including / excluding MEV Boost)
  • Support Rocket Pool management options
    • RP Wallet Creation
  • Rocket Pool Minipool
    • Creation
    • RP Grafana dashboard
    • Rocket Pool Theme for Stereum
      • selected on One Click Installation
    • Automated Tests
    • Manual Tests


Milestone 2# - Refined Setup for Recommended Usage

Building on the first milestone, we want use the second milestone to cover all RP operations within the UI.

This will result in:

  • Rocket Pool Node Setup in Stereum
    • Install via OneClickInstaller (including / excluding MEV Boost)
    • Install via Custom Installation
  • Stereum UI to fit Rocket Pool
    • f.e. Rocket Pool Element for Stereum Dashboard
  • Support Rocket Pool management options:
    • RP Wallet Creation
    • Import Existing RP Wallet
    • Claim Rewards & Change Addresses
    • Rocket Pool Minipool
    • Creation
    • Import Existing
  • RP Grafana dashboard
  • Rocket Pool Theme for Stereum
    • selectable in Settings, automatically applied for RPL OneClickInstallation
      • Rocket Pool Theme for Stereum
      • Rocket Pool Specific Stereum Notifications
      • Stereum Node Monitor Mobile App Alerts
      • "Rocket Pool on Stereum" - Guides


PLEASE NOTE HERE AGAIN: The designs are subject to change (especially later when released through feedback)



How is the work being tested? Is testing included in the schedule?



To ensure our users high quality over the span of an implementation, we usually start by writing an extensive list of automated tests, we are relying on additionally to the manual testing occurring every day - be it through us or some of our more dedicated users.



How will the work be maintained after delivery?



In our development will start by writing automated tests. Through care, some user feedback and mostly testing, testing, testing. Furthermore, the closer we get, we are planning to maintain by simply making use of Rocket Pool + Stereum ourselves.

Through the work on Stereum, we follow along with the changes the clients teams make & the pulse of Ethereum, so it is nothing new for us to adapt to active development. Though it will certainly raise some new challenges - Rocket Pool will be our first Non Core Mainnet Protocol Implementation outside of our plans to release a Gnosis one in Q1 next year. The difference magnitudes of funds at stake however, is nothing new to us: With Stereum 1.0 you could already stake on Ethereum Mainnet before and with 2.0 it is available since summer 2022. We take safety of our users funds immensely serious. It is our highest priority and if you need something, we also try to be there for you Saturdays & Sundays.



=== Payment and Verification ===

What is the acceptance criteria?



The development of an Open Source licensed UI component in Stereum for Rocket Pool, that simplifies the complete setup and maintenance of a Rocket Pool Node over multiple milestones featuring RP specific branding. The result is free of charge and doesn't cut interest with the protocol. All development to fullfil this - including testing, maintenance and an open ear - is included in the grant amount. Additionally we also hope for feedback from the RP community members & especially the grant committee with every milestone.



What is the proposed payment schedule for the grant? How much RPL and over what period of time is the applicant requesting?



We would like to handle the development on a per-milestone basis. If possible every milestone accomplished involving a small feedback round at the end on how we could further improve our RP implementation.

PHASE Percent AMOUNT (in RPL)
INITIAL 60 % 3 600
MILESTONE 1# 30 % 1 800
MILESTONE 2# 10 % 600

If the paying entity is NOT considered a business under VAT law of Austria 20 % VAT apply additionally.



How will the GMC verify that the work’s deliveries match the proposed cadence?



We want to track our progress mostly here in Github for everyone to see, however, a more farrow and concentrated feedback from the members of the committee we would wish for as soon as a working setup version with the first milestone is available.

There are a lot of things our team will have to consider (f.e. how to handle potential payment abstraction / 3rd party wallet handling in Stereum's UI if necessary) and for potential arising question, we would also prefer to have some sort of direct way to relay them to the core development team in the form of a Discord Text Channel. We can promise them, we will not annoy them often, but it could turn out beneficial for both.



=== Conflict of Interest ===

Does the person or persons proposing the grant have any conflicts of interest to disclose?



The RockLogic GmbH - company behind Stereum - is also a LIDO Node Operator, onboarded in Wave 4 alongside some of the core client teams & staking veterans.



Will the recipient of the grant, or any protocol or project in which the recipient has a vested interest (other than Rocket Pool), benefit financially if the grant is successful?**



We would be happy to offer a free & easy OpenSource GUI Installation for Rocket Pool. For us Rocket Pool will be another option we would like to offer our users, which will potentially grow RPL's userbase & open up a number of new RPL minipools. As of more complicated interest entanglement, we could speak of none we haven't disclosed.

daGscheid commented 1 year ago

Sadly got a "NO" awarded from the RP DAO to get the funds to build this, so we will close this for now "as not planned" and come back to it again, when there another opportunity opening.

https://dao.rocketpool.net/t/january-2023-grants-bounties-retrospective-awards-round-results/1474