Development Update — 10th April

David Rugendyke
Rocket Pool
Published in
7 min readApr 10, 2020

Hello Rocket Poolers! Today's development is chock full of info on our GUI client for staking with Rocket Pool in ETH2.0 as a node operator, and also includes loads of pretty screen shots + gifs, which we pronounce as “jifsjust for today to enrage people who didn’t actually read the opening paragraph.

Important progress on integrating ETH2.0 clients into Rocket Pool is also included, as well as our development progress on Rocket Pool smart node stack — the software which you’ll run if you want to be a node operator.

We’ll also throw in a summary of other minor additions and some early info on our next beta, one of two planned for this year. Be sure not to miss out when they’re on!

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.

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 staking in ETH 2.0.

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. 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 Desktop GUI

To begin, let’s recap what is to be a smart node operator in Rocket Pool for 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 staking 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.

The 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. The command line isn’t for everyone though and users who wish to run nodes will need a good overview of everything happening on their server + the validators they are running.

This is where the Rocket Pool GUI client comes in.

Smart Node Desktop GUI Dashboard — Live Server and Network Overview

For the next section, we’ll be showing some features from this GUI and how they work. All screenshots and jifs below are 100% real and from the running GUI application, no mock-ups here.

Features

Rocket Pool’s GUI is designed to make running a node and staking in ETH2 super easy. 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.

Installing

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 your own computer — neat!

Install locally or on a remote server — click to view video

Configure Node

Once you’ve installed Rocket Pool’s stack on a server, be it local or remote, you’ll then have to configure it! Don’t worry, this is as easy as selecting which ETH1 and ETH2 clients you’d like to use. For those running on a server with limited resources, you might want to use the ETH1 light client option by selecting Infura to host your ETH1 node for you.

Takes just a moment to select your clients to get up and running — click to view video

Now that you’ve chosen your clients, you’ll need to let them sync their respective blockchains. This is easy to monitor, so go grab a drink or two and watch them do their thing on the GUI.

Node syncing has never been more mesmerising — Click to see video

The Dashboard

Once a node operator has Rocket Pool installed successfully and chosen their ETH 1 and ETH 2 clients, you’ll see a dashboard that’s designed to give a quick, no-fuss overview of how your node’s resources are doing and the current capacity of the Rocket Pool network. Both of these are important information for a budding node operator.

You’ll also get to see the nodes current account balances for ETH, rETH and RPL. Since your node might be local or even remote, we’ve made it easy to transfer these balances no matter which location your node is in.

Send your nodes ETH, rETH or RPL balances easily from anywhere — click to view video

Other Features

There’s a lot to this nifty little GUI staking client and more will be revealed in coming updates and betas. But for now, you’re probably sick of seeing all these wonderful jifs. So here’s one more:

Need to take your server down for maintenance? Stop everything and resume later

ETH2 Client Integration

As you’ll most likely already know, there’s lots of single-client ETH2 beacon chain testnets popping up all over the place and we love it. For our previous beta late last year, we used a beacon chain simulator to mimic interacting with a real beacon chain client. It was written to spec and worked great, although it was entirely centralised on one server, but hey, it’s a beta and it served its purpose well.

Since this time last year though, we’ve been watching and testing ETH2 clients as they reach maturity. At Rocket Pool HQ we have a beast of a machine that benchmarks clients and tests syncing speeds. We’ve been using that and our other non-godlike computers to test stability of clients and more.

The beast machine that takes no ETH2 client prisoner and acts as a space heater in winter

We’re happy to say we have successfully integrated our first real ETH2 client into Rocket Pool – Lighthouse by Sigma Prime. We’re also testing another client at the moment and hope to have it integrated in the near future.

Why Lighthouse?

We’re definitely aiming to support as many ETH2 clients as possible in the Rocket Pool stack as we want to give end users the choice in what clients they want to use. We do have some basic requirements though such as stability, decent sync speed + others. But being among the first to really integrate these clients into a 3rd Party system, we’ve seen some things that work really well.

HTTP REST API
Simple APIs are the best and Lighthouse have been building a really great one that we hope becomes standard among the client teams. It allows you to do a lot of things in a simple way over HTTP, such as querying what state the beacon chain is in and information about validators working on it. This information is great for any service which wishes to use these clients, so we hope a standard evolves and is used among all clients.

Beta V2

Our next beta will feature our GUI client and hopefully one or more real beacon chain clients. Currently we’ll be targeting the Goerli testnet and launching it in the coming months with several weeks notice. If there looks to be a multiclient testnet on the horizon in this time period, we might hold back and wait to launch the beta on that. We’ll see how it goes, but hope to see you in the beta regardless — it’ll be open to the public as usual.

Are you done yet?

All the above has been keeping us really busy, but wait, there’s more! We’ve been optimising and improving the smart node stack (which the GUI is powered by) and made significant improvements to dependency management + reduce build times by combining containers and more. This is nitty gritty stuff though, but if you’re interested in it, please drop by our Discord and ask away.

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!

--

--