Development Update — 6th Feb, 2020

David Rugendyke
Rocket Pool
Published in
8 min readFeb 6, 2020

--

Hello Rocket Poolers! In our first update for 2020 and hot on the heals of our last beta from November, we’ll be covering progress of our GUI client for node operators in the Rocket Pool network and giving a glimpse into our roadmap for 2020.

But before we dive right in, want to know a bit more about Rocket Pool, but don’t want to spend 10 mins digging through google? Well Alex Saunders with Nugget News has you covered. In this talk, he uses his silky- smooth radio voice to talk to David about Rocket Pool and our plans for the staking future of Ethereum. Be sure to give it a listen.

We also just gave a workshop for the Trust-Less 2020 virtual conference, organized by @DystopiaLabs and @TheBAFNetwork. If you missed out on running a smart node in the last Rocket Pool beta, you can do it now again for the next 2 weeks!

Rocket Pool — Wait, what, who?

If you’re not familiar with Rocket Pool, here’s a quick run-down before we get into the details of the development update.

Rocket Pool is a next-generation Ethereum proof of stake (PoS) infrastructure service, designed to be highly decentralised, distributed and compatible with Casper 2.0, the new consensus protocol that Ethereum will transition to in 2020.

We offer any user, business, corporation, pool, wallet provider, exchange, hedge fund — just about any service — the ability to provide their users with the option to earn interest on their ether holdings for a fixed term without worrying about maintaining an extensive staking infrastructure, just plug and play.

Rocket Pool has a long history in Ethereum and work on it originally began in late 2016 after the Mauve paper was released by Vitalik Buterin. This provided an early functional spec for Ethereum’s new consensus protocol called Casper which would allow users to earn interest on a deposit of Ether. Since then, Rocket Pool has grown and evolved into a next-generation staking network, aiming to allow businesses and their users to earn interest on their ether and to empower users who wish to stake on their own node by providing them with additional income on top of interest awarded by Casper.

Rocket Pool isn’t just a whitepaper, it’s actual code. Be sure to read the Rocket Pool 101 — FAQ for more information.

Smart Node GUI

To begin, let’s recap what is to be a smart node operator in Rocket Pool during Ethereum 2.0. Users who wish to stake their own ETH in Rocket Pool, but not run a node, will need node operators to do their staking for them. These stakings users may be customers of a business, exchange or any other service which has registered a group in the Rocket Pool network and been on-boarded through it. Or they might be just regular users who do not have the time, skills or minimum amount of ETH required to run a node themselves.

These node operators who receive these deposits for staking, might be staking as a service companies or just about anyone and they’ll be spread far and wide in the Rocket Pool network. Currently we have a command line interface (CLI) package which we used in our last beta. Command lines aren’t for everyone though and one thing that a lot of Web3 Dapps really need is a good user interface (GUI) to make interacting with the Dapp a smooth experience and we’re no exception to this.

Initial sneak peek into the Rocket Pool GUI — Installing (high res video here)

Above you can see an early work in progress design and flow for the GUI. Each screen is aiming to be simple and easy to follow. This should hopefully allow future node operators run their smart nodes even easier than it is now with the CLI.

Features

Besides a simple user interface, the GUI has some extra features that the CLI doesn’t, this mostly relates to easier monitoring and the ability to install the Rocket Pool Smart Node Stack on remote servers.

Connection Manager and Remote Installs

Not only will you be able to install locally on your current computer, but you’ll also be able to deploy smart nodes on single or multiple remote servers at once using SSH in the background. Simply add a new remote connection, then install to it and monitor it all from another computer, neat!

Manage connections to remote servers easily

Configure Your Node

Once installed on a local or remote server, the Rocket Pool smart node stack will need to be configured. This will entail selecting which ETH1 client you’d like to use (Geth/Parity/Infura — Light client) and which ETH2 client you’d like to use that is supported by Rocket Pool (Prysmatic Labs, Lighthouse etc).

As briefly mentioned above, we’re providing Infura support in the way of an ETH1 light client. This greatly reduces the resources required for a node as the ETH1 clients are dealing with the current main chain and its long history. But it does mean you’d be entrusting Infura with your ETH1 connection, so that might be a trade off for those of you who want total control.

Select your clients and get started!

Monitor Ethereum Chains

Once installed on a local or remote server and configured, the Rocket Pool smart node stack will begin and the first thing it will do, is to sync the current ETH1 and ETH2 chains. This can take a while depending on your connection, but it can be easily monitored via the GUI and once it’s completed, you’ll be greeted with the main server dashboard. The blockie shown below is your nodes main ETH1 account that is created for it upon install.

Sync progress of the smart node can be monitored easily.

Server - Dashboard

Once the Ethereum chains are synced, you’ll be able to see the server dashboard which gives an overview of your current node. From the top you’ll see your current nodes ETH and token balances, a graph of your current servers resources (HDD, CPU and MEM) and a graph of the resources that the Rocket Pool smart node stack is using + all the validators currently running on it (see M1, M2, M3 etc — these are our minipool validators). The menu at the bottom provides access to other main areas with more detailed information on the server, the stack and help in using the GUI.

The main server dashboard. You can also send ETH/Tokens from here!
Transfer your nodes ETH or Tokens easily.

Server — Details

It’s important to know how your server is running if you want to be a good smart node operator, so if you click on the server icon on the main menu, you’ll get more detailed information into just what’s happening. You’ll also be able to run custom commands from the GUI and view the output for those more advanced users.

The server details page, sexy stats ahoy!

Server — Rocket Pool Stack Details

Like above, you can view extra details on the current Rocket Pool stack that is running. This most importantly includes seeing what minipool validators are running on the node and their status. If any of those minipool boxes are clicked, you’ll be taken to the minipool manager screen which is also shown below.

The main graph on this screen shows the capacity of the Rocket Pool network and below that a sub-menu which allows you to cast votes for what you think node operators should charge for users who stake on their node, view the logs from the stack and the ability to stop the stack service running.

The Rocket Pool stack details screen with sub-menu for other cool stuff!
Manage your minipool ETH2 validators and see their status + progress!

Release and Platform Support

The initial release of the Smart Node GUI is planned for our next beta which we’re targeting for early Q2. This initial release will be aiming to support Linux (Ubuntu + possible other flavours) and MacOSX. Windows 10 that has WSL2 installed might see an experimental release shortly after, depending on how testing goes with WSL2 once it is released.

2020 Roadmap

Can you believe it’s 2020 already? We’re living in the future man! While it might seem like ETH2 is taking a while, it’s a very complex beast and one that is getting constant work done on it from many contributors. So our milestones for this year may change depending on how progress with ETH2 goes and many other factors such as smart contracts audits, GUI progress and implementation of several live beacon chain clients into our stack.

Milestones for 2020:

— Q1
* V2 public beta UI additions.
* GUI client (alpha release Linux + MacOSX with possible Win suppport)
* Integration of at least one live beacon chain client.
* Optimistic Rollup additions. Node check-ins every 15min (vs 24hrs).

— Q2
* V2 Beta (Goerli public testnet, possibly early Q2)
* GUI client (Windows version for users with WSL2 installed)
* Integration of multiple beacon chain clients.

— Q3
* V3 Beta on public multi-client testnet (when it exists)
* Beta bug fixes and requested feature additions.
* Smart Contract and Node Software audits.
* Audit fixes and RP2 v1 feature lock down.

— Q4
* Final public security audits.
* Rocket Pool v1 deployed to mainnet (if ETH2 Phase 0 is live).
* GUI server recipes (deploy to remote cloud hosts automatically).

Questions or just say hello!

Well this turned out a bit longer than expected, 10 points to you for making it this far! If you have questions or want to know a bit more about us, why not swing by for a chat and say G’day! You can view our website or have a chat with us in our Discord room that anyone can join. If chat rooms aren’t your thing, we’re also on Twitter!

--

--