Grants Application
Project: Rocketscan Node UI
What is the work being proposed?
Build a web-based user interface for node operators.
It will be visually similar to Rocketscan and the node operator will be able to register a node, stake RPL, join the smoothing pool, launch minipools, claim rewards and perform other interactions with Rocket Pool smart contracts that can today be done with Smartnode.
It will be possible for the node wallet to be a hardware wallet, Gnosis Safe and to be used with MetaMask.
It is not a replacement of Smartnode. It does not have any functionality to automate the installation of Smartnode, manage EL/CL clients or manage services running in Docker on the machine. It’s an alternative interface that lets you interact with Rocket Pool smart contracts without Smartnode.
It will be a standalone web page with static assets and no backend that can be run locally or easily hosted on IPFS.
Is there any related work this builds off of?
I already have a working prototype. It can register a node, stake RPL, join the smoothing pool, launch 8-ETH and 16-ETH minipools, validator keys can be imported into Smartnode. It also works with Gnosis Safe.
I will reuse some UI components from Rocketscan so it will look visually similar.
It’d use my Rocket Pool smart contract TypeScript + ethers.js library which is out of scope as it’ll be open sourced separately.
Will the results of this project be entirely open source?
Yes, under the GNU General Public License v3.0 or later.
Benefits
How does this help people looking to stake ETH for rETH?
N/A - this is for node operators.
How does this help rETH holders?
N/A - this is for node operators.
How does this help people looking to run a Rocket Pool node for the first time?
Being able to use MetaMask to interact with smart contracts may be attractive to some potential node operators.
Node operators can also use a Gnosis Safe or a hardware wallet as the node wallet.
How does this help people already running a Rocket Pool node?
Node operators will be able do perform various actions such as execute the stake transaction for prelaunch minipools.
How does this help the Rocket Pool community?
Screenshots and videos of the visual interface can be used in marketing materials.
How does this help RPL holders?
N/A - this is for node operators.
What other non-RPL protocols, DAOs, projects, or individuals, would stand to benefit from this grant?
There’s code to launch validators from the browser. It may be useful to other staking projects.
React components may be useful in other projects, although I hope they don’t copy the Rocketscan style & branding.
Will the resulting project be open source?
Yes, under the GNU General Public License v3.0 or later.
Team
Who is doing the work?
It’s me.
What is the background of the person(s) doing the work? What experience do they have with such projects in the past?
I have studied rocket contracts. I have already built a similar project (Rocketscan). I already have a full working end-to-end prototype.
What is the breakdown of the proposed work, in terms of milestones and/or deadlines?
Milestone 1 - basic features
- Wallet connection management (MetaMask, Gnosis Safe)
- Register a node
- Change the withdrawal address
- Stake RPL
- Join the smoothing pool
- View node & minipool details
Milestone 2 - main validator related functionality
- Launch and stake a minipool
- Convert from 16 ETH to 8 ETH
- Convert a validator
- Validator key management
Milestone 3 - all other remaining functionality
- Claim rewards
- Unstake RPL
- Stake RPL whitelist
- Distribute fees
- Node refund
- Delegate upgrades/rollbacks
- Rescue dissolved minipool
- Close and exit minipool
- Change timezone
- Migrate old RPL to new RPL
Milestone 4 - extra features
- Run node UI in a Docker container as a Smartnode add-on
- Web-based Smartnode configuration screen as an alternative to the TUI
- Some common stats from Prometheus so you don’t also need to check Grafana
How is the work being tested? Is testing included in the schedule?
It will be manually tested on Goerli.
How will the work be maintained after delivery?
It will be open source, anyone can add features and fix bugs. Anyone can also fork it and maintain their own version.
Payment and Verification
What is the acceptance criteria?
- There’s a public git repository on GitHub with the source code
- GMC can build and run it locally by following the instructions
- Features work on Goerli with an EOA and a Gnosis Safe wallet
What is the proposed payment schedule for the grant? How much RPL and over what period of time is the applicant requesting?
$200k
It will take a few months to implement all milestones. I can work on it part-time at first and full-time later.
I am aware this is much much more than what the GMC has awarded in the past. However, if I am to build it then this is how much I’m requesting.
- Milestone 1 - $50k
- Milestone 2 - $50k
- Milestone 3 - $50k
- Milestone 4 - $50k
How will the GMC verify that the work’s deliveries match the proposed cadence?
GMC members can test the features of each milestone on Goerli.
What alternatives or options have been considered in order to save costs for the proposed project?
GMC may consider funding the Staking Pond project with its stretch goals for 350 RPL instead. It is much cheaper and would have many more features.
Conflict of Interest
Does the person or persons proposing the grant have any conflicts of interest to disclose? (Please disclose here if you are a member of the GMC or if any member of the GMC would benefit directly financially from the grant).
I am a Rocket Scientist.
I promised to build this in my oDAO application but it’s going nowhere so I’m going to withdraw it.
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?
No.