If you want to run your own smart node, this is a great getting started guide.

Introduction

So you want to run a Smart Node in the Rocket Pool Beta v1? This guide has you covered! You’re on your way to being one of the first to experience running a node in the Rocket Pool network, and earning rewards on not only your own stake, but a percentage of your users’ rewards too.

This guide is a quick overview of the installation and setup procedure — for more detailed documentation, check out the Smart Node docs.

The beta v1 of Rocket Pool will only feature a CLI (command line) for the smart node software. A GUI for home users will be targeted for the beta v2 later in the year.

What Do I Need?

All you need to get started is a computer with an internet connection, running Ubuntu 16.04 and up. You can also use MacOS, provided that you have docker and docker-compose installed. If you don’t have access to a Ubuntu or MacOS machine, check out our handy guide to running Rocket Pool Smart Nodes on AWS. Your computer will need at least 3GB of RAM and 8GB of (SSD) hard disk space. You’ll also need root (administrator) access to the computer.

Installation

Open the terminal on your Ubuntu machine (or SSH into it if you’re working on a remote server). Then, make sure you have curl installed:

curl --version

If you see a message like command not found , you don’t have it. Install it with:

sudo apt-get install curl

Now, install the Smart Node software stack:

curl -L https://github.com/rocket-pool/smartnode-install/releases/download/0.0.1/setup.sh -o setup.sh && chmod 755 setup.sh && ./setup.sh && rm setup.sh

This command will hide everything that’s happening behind a tidy progress bar. If you want to see everything that’s going on behind the scenes, use this one instead:

curl -L https://github.com/rocket-pool/smartnode-install/releases/download/0.0.1/setup.sh -o setup.sh && chmod 755 setup.sh && ./setup.sh -v && rm setup.sh

Once the installation is finished, you’ll be prompted to answer some questions for the initial configuration (there’s not much choice at this stage…). Then, you’ll be prompted to restart your terminal. If you’re using the actual computer that will be your node, just close and re-open it. Otherwise, exit your shell session and SSH back in.

Powering Up

To get started, run:

rocketpool service start

This will “build up” the Smart Node software stack, which starts it up and makes sure it keeps running, even if it crashes or you restart your computer. You can check to make sure it’s working by running:

rocketpool service stats

You should see a list with some entries where the NAME column looks something like this (in any order), along with some information about the resource usage for each container (small programs which make up the stack):

rocketpool_cli_1

rocketpool_minipools_1

rocketpool_node_1

rocketpool_pow_1

rocketpool_traefik_1

rocketpool_watchtower_1

If you don’t, something might have gone wrong.

You can also view the logs for all the running containers with:

rocketpool service logs

(Both of these commands will run in real-time until you press Ctrl-C to stop.)

Registering Your Node

Now you’re ready to register your Smart Node with Rocket Pool. First up, set your password and create a node account with:

rocketpool node init

You won’t need to enter your password again, and it will be saved to your computer. It’s just an extra layer of security in case your account keystore gets leaked somehow (like if you backed it up on a cloud service — but don’t do that).

Next, you’ll need some testnet ETH and RPL (and Rocket Pool won’t let you register your node without a minimum ETH balance). We’ve built special commands in to access our ETH and RPL faucets, just for the beta. Let’s get as much as possible:

rocketpool faucet withdraw 20 ETH

rocketpool faucet withdraw 48 RPL

It will take a few moments for your tokens to appear in your account. Check your node status a few times until you see your balances go up:

rocketpool node status

Once they’re there, you can register: (note this will only work after the beta starts on the 24th)

rocketpool node register

You’ll be prompted to detect your location automatically, or enter it manually. This isn’t used to track you, just to show people where nodes are on the network map on the Rocket Pool website. You can enter something like Hidden/Hidden if you don’t want people to know.

That’s it! You’re officially part of the Rocket Pool network!

Making a Deposit

Now, let’s put that testnet ETH and RPL to use. Make a deposit with:

rocketpool deposit make [duration]

[duration] can be one of 3m , 6m or 12m , depending on how long you want to stake for. This command will walk you through the process of making a deposit, including sending the required ETH and RPL from your node account. When prompted, select the option to “Complete the deposit”.

When you’re done, you’ll have a brand new minipool! This minipool will eagerly await until Rocket Pool selects it for user deposits to be sent to. When it gets enough, it’ll begin staking. You can check up on it at any time with:

rocketpool minipool status

This displays a list of all your minipools, with information about each of them. When User Deposit Total hits 16.00 , the Status should change to staking . That means your minipool will shortly become a validator on the beacon chain! The Smart Node software stack will quietly start doing its validation duties for it in the background.

Voting on the Node Fee

All nodes in the Rocket Pool network charge users the same fee, in the form of a percentage of their rewards earned. This keeps things fair for users, as they don’t have to worry about which node their deposit gets assigned to. The fee is also “locked in” for each minipool when it begins staking.

The node fee is dynamic, and all node operators get to vote on it in cycles of 24 hours. Every 24 hours, the network tallies the total number of votes for the following options:

Keep the fee the same

Raise the fee

Lower the fee

The option with the most votes wins, and the fee is adjusted accordingly. It only moves up or down by 0.5% at a time, to prevent sudden swings.

You can set the target percentage you want your node to vote for with:

rocketpool fee set [percentage]

That’s it, your node will now decide how to vote automatically each time it checks in! You can also check the current network fee with:

rocketpool fee display

Making Bank

After your minipool’s staking duration has completed, your Smart Node should automatically log out from the beacon chain for you. Then, after a short delay, you’ll be able to withdraw your rewards from it! Run rocketpool minipool status to check up on it again — the Status should now read withdrawn (from the beacon chain).

To withdraw your funds, run:

rocketpool minipool withdraw

This will list all of your minipools which are available for withdrawal and prompt you to select one (or all) of them. If you were good, you’ll have made a profit! If you were bad (e.g. you turned off your computer, which should have been validating), you might be at a loss. If you were very bad, you might have lost everything! If your validator gets penalised and goes below 16 ETH, it gets booted from the beacon chain. In this case, the users get most of their ether back, while you get squat since you’re at fault.

Any rETH you earned goes straight to your node account, while RPL gets returned to your node contract for re-use. If you want to withdraw it to your account instead, run:

rocketpool node withdraw [amount] RPL

More, More!

That’s everything for this guide. If you want to see what else the Smart Node can do, don’t forget to check out the Smart Node docs. They break down all of the available commands for you, and provide a reference at the end.