Rocket Pool
Rocket Pool
Overview
Guides
Website
简体中文
English
Overview
Guides
Website
简体中文
English
Rocket Pool

Guides

Overview
The Saturn 0 Upgrade

rETH Staker Guide

Overview
Staking directly via Rocket Pool
Staking via a Decentralised Exchange on the Ethereum Network (Layer 1)
Staking via a Decentralised Exchange on Layer 2
Staking on behalf of a node

Node Operator Guide

A Node Operator's Responsibilities
Node Requirements & Choosing a Platform

Preparing a Local Node

Overview
Selecting Staking Hardware
Preparing a PC, Mini-PC or NUC
Preparing a Mac
Intro to Secure Shell (SSH)

Preparing a Server Node

Overview
Selecting a Hosting Provider
Preparing the Operating System

Securing Your Node

Securing Your Node
Tailscale

Installing Rocket Pool

Overview
Choosing your ETH Clients
Selecting a Rocket Pool Mode
Creating a Standard Rocket Pool Node with Docker
Creating a Native Rocket Pool Node without Docker

Configuring Rocket Pool

Overview
Configuring the Smartnode Stack (Docker/hybrid mode)
Configuring the Smartnode Stack (native)
Advanced Smartnode Configuration for Docker Mode

Provisioning your Node

Overview
Starting Rocket Pool
Creating a New Wallet
Importing/Recovering an Existing Wallet
Preparing your Node for Operation
Intro to the Command Line Interface
Specifying a Fallback Node
Fee Distributors and the Smoothing Pool
MEV, MEV-Boost & MEV Rewards

Creating or Migrating Minipools

Overview
Creating a new Minipool (Validator)
The Minipool Delegate
Converting a Solo Validator into a Minipool
Migrating a 16-ETH Minipool to 8-ETH
The Deposit Credit System

Monitoring & Maintenance

Overview
Monitoring your Node's Performance
Setting up the Grafana Dashboard
Smartnode Stack Alert Notifications
Checking for Updates
Backing Up Your Node
Masquerading as Another Node Address
Expiring Pre-Merge History
Pruning the Execution Client
Changing Execution or Consensus Clients
Moving from One Node to Another

Claiming Rewards

Overview
Claiming Node Operator Rewards
Distributing Skimmed Rewards

Participating in pDAO governance

Overview
The Protocol DAO
Participating in on-chain pDAO Proposals
Setting your Snapshot Signalling Address
Delegating Voting Power
Viewing the State of a Proposal
Voting on a Proposal
Creating a Proposal
Executing a successful proposal
Claiming Bonds and Rewards
Creating and Claiming a recurring treasury spend

Exiting your Minipools

Shut Down a Minipool
Rescuing a Dissolved Minipool
FAQ (WIP)

Testing Rocket Pool with the Hoodi Test Network

Practicing with the Test Network
Migrating from the Test Network to Mainnet

Running an Oracle DAO Node

The Rocket Pool Oracle DAO
Setting up an Oracle DAO Node
Testing your Oracle DAO Node
Monitoring your Oracle DAO Node
Oracle DAO Proposals

Legacy Guides

Upgrading to Smartnode v1.3.x
Migrating the Smartnode from Previous Beta Tests
The Atlas Update
Lower ETH Bond Minipools

Redstone & The Merge

The Rocket Pool Redstone Update
[Docker Mode] Guide to the Redstone Update and the Merge
[Hybrid Mode] Guide to the Redstone Update and the Merge
[Native Mode] Guide to the Redstone Update and the Merge

The Houston Upgrade

Overview
Getting Started with Houston
The Protocol DAO
Participating in Proposals
Stake ETH on Behalf of Node
RPL Withdrawal Address
Preparing a Raspberry Pi
📝 Edit this page on GitHub
Previous PageSmartnode Stack Alert Notifications
Next PageBacking Up Your Node

#Checking for Updates

One of the responsibilities of a node operator is making sure your system is up to date with the latest security patches. Automatic updates are convenient but can interfere with your node operation, so it may be preferable to run them manually. In either case, you must make sure that your machine is regularly patched!

NOTE

Most of the time, updating will not require your system to be down for more than a few minutes. You might be concerned that such downtime will negatively affect your Beacon Chain balance. Rest assured, the penalty for being offline for such a short period of time is completely negligible.

Each attestation you miss will penalize you for slightly less than the amount you'd earn from a successful attestation. As a rule of thumb, if you're offline for an hour, you will earn it all back after being online for an hour again.

Also note that there is absolutely no chance that you will be slashed by going offline for a short time. Slashing only occurs if you attack the network, and going offline for maintenance does not count as attacking the network.

Please keep your systems up to date - don't worry about the downtime penalties!

#Updating your Operating System

You should frequently check your Operating System's package manager or update service to ensure that quickly apply any new important security patches. The exact instructions vary for each Operating System and can be found with your system's documentation, but here are a few examples.

Ubuntu
MacOS

In a terminal, type the following:

sudo apt update

This will access the package servers and check to see if any of your installed packages have new versions available. If updates are available, the output will look like this:

Fetched 3974 kB in 2s (1641 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
12 packages can be upgraded. Run 'apt list --upgradable' to see them.

You can install the updates with the following command:

sudo apt dist-upgrade

This will show you the list of packages that are about to be updated, and if the total installation size is large enough, it will show you the size and prompt you to confirm that you accept:

12 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 51.3 MB of archives.
After this operation, 52.2 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Ensure that you have enough space available to do this, then press y and Enter to begin the update process.

Once the progress bar is finished and you're dropped back into the terminal prompt, run the following command to clean up any old versions of packages that were just replaced:

sudo apt autoremove

Next, check if your system needs to be rebooted:

cat /var/run/reboot-required

If the above command prints No such file or directory, then reboot is not required and you can skip the step below.

However if the command prints *** System restart required ***, then you should restart your machine to finish applying the updates when you are able:

sudo reboot

Rocket Pool will gracefully shut down and automatically start back up with the system once it reboots.

#Updating the Smartnode Stack

Occasionally, Rocket Pool will release a new version of the Smartnode stack. Updates can contain new versions of the CLI or the Rocket Pool Docker containers, as well as new versions of the Execution and Consensus clients.

The most consistent way to find out about new releases is to subscribe to the Rocket Pool Discord server; they will always be posted in the Releases channel and you will receive a notification.

NOTE

Note that running apt update will not update the node software. This must be done manually using the steps below.

TIP

When you have completed the Smartnode upgrade, the Grafana dashboard will still indicate there is still an update available. It will automatically clear within a day when the system next auto-checks for updates.

If you want to clear it immediately after the update, simply run: sudo apt update
TIP

If you do not know your CPU architecture, you can run the following command to find it:

uname -m
The output of this command will print your architecture. Note that x86_64 is the same as x64 and amd64. Note that aarch64 is the same as arm64.

The steps to upgrade depend on which mode your node uses. Select from the options below:

Linux (Docker or Hybrid Mode)
Linux (Native Mode)
macOS (Docker or Hybrid Mode)

Stop the Rocket Pool services:

rocketpool service stop

Download the new Smartnode CLI:

For x64 systems (most normal machines):

wget https://github.com/rocket-pool/smartnode/releases/latest/download/rocketpool-cli-linux-amd64 -O ~/bin/rocketpool

For arm64 systems:

wget https://github.com/rocket-pool/smartnode/releases/latest/download/rocketpool-cli-linux-arm64 -O ~/bin/rocketpool

Now run the install command:

rocketpool service install -d

The -d flag tells it to ignore system dependencies like Docker, since you already have them.

If you'd like to see what's changed, open the Settings Manager - the Review Page will show you what's new:

rocketpool service config

When you're done, start Rocket Pool up again:

rocketpool service start

Finally, check the version to make sure the CLI and Smartnode stack are both up to date:

rocketpool service version

The output should look something like this:

Your Smartnode is currently using the Hoodi Test Network.

Rocket Pool client version: 1.5.0
Rocket Pool service version: 1.5.0
Selected Eth 1.0 client: Geth (Locally managed)
Image: ethereum/client-go:v1.10.21
Selected Eth 2.0 client: Lighthouse (Locally managed)
Image: rocketpool/lighthouse:mevboost-5ee3bc5

Both the client and service should match the new release version.

#Manually Updating the Execution or Consensus Client

Each new release of the Smartnode stack will come with updated references to the latest compatible versions to the Execution and Consensus Docker containers. In some cases, however, you might want to upgrade one of those clients before waiting for a new Smartnode stack release. This section will show you how to do just that.

Docker Mode
Native Mode

Updating to new client versions is easy in Docker mode.

Start by opening the Settings Manager:

rocketpool service config

To change the Execution client version, go to the Execution Client category. Modify the Container Tag setting:

To change the Consensus client version, go to the Consensus Client category. Modify the Beacon Node Container Tag setting:

When you're happy with your changes, save and exit as usual. The Smartnode will offer to restart all of the affected containers automatically.