Skip to content

Instantly share code, notes, and snippets.

@0xobjectObject
Last active November 25, 2022 16:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save 0xobjectObject/48889fab54b92fbdd1b9a56be96129a1 to your computer and use it in GitHub Desktop.
Save 0xobjectObject/48889fab54b92fbdd1b9a56be96129a1 to your computer and use it in GitHub Desktop.

Multiple nodes on an existing hybrid setup

This guide assumes you've read the introduction and have an already working Rocket Pool node using the default Docker project name rocketpool and default config path ~/.rocketpool. Modify accordingly if you changed anything.

If you aren't creating your second node, replace any occurrence of rocketpool2 and rp2 with the correct number (like rocketpool3 and rp3 for your third node).

Installation

To install rocketpool into the ~/.rocketpool2 directory, run

rocketpool s i -d -y -p ~/.rocketpool2

To comfortably access your different nodes, add an alias for each to the end of your ~/.profile file:

alias rp1='rocketpool -c ~/.rocketpool'
alias rp2='rocketpool -c ~/.rocketpool2'

I'd advise against creating an rp alias, so you don't accidentally run commands for the wrong node if you forget to type a number.

To load your new aliases, run

source ~/.profile

Initial configuration

First, let's look up your old hybrid configuration. Run

rp1 s c

and write down your existing HTTP & Websocket URL from the ETH1 section and the HTTP URL (and JSON-RPC URL if using Prysm) from the ETH2 section.

To start configuring your new node, use the newly created alias and run

rp2 s c

You'll see the Config Wizard on your first run. Select the following options:

  1. Next
  2. Same network as your first node
  3. Externally Managed
  4. Enter the URLs you've written down before from the ETH1 section.
  5. Select the consensus client you're using for your first node. Enter the URLs you've written down before from the ETH2 section. Choose whatever you want for Graffiti and Doppelgänger Protection.
  6. If you have a working fallback setup, enter your details here.
  7. No metrics (for now).
  8. Review All Settings, don't save yet!

The next step is very important, don't miss it or stuff will break:

Select "Smartnode and TX Fees" and change the "Project Name" to rocketpool2. Press enter after making the change.

Now you can press ESC and select "Review Changes and Save". Make sure you see Project Name: rocketpool => rocketpool2 under "Smartnode Settings". If you do, you can save the settings and answer "yes" when asked to start the Smartnode services automatically.

Firewall setup

If you've set up your firewall to restrict access to the HTTP, WS (and JSON-RPC if you're using prysm) ports , you might have to add new rules to allow traffic from your new node. You can get the new subnet you should allow requests from by running

docker network inspect rocketpool2_net |grep Subnet

Because you're using hybrid mode, I'm assuming you know how to change your firewall rules. If you don't, I highly recommend Docker or reverse hybrid mode instead.

Updating your nodes

You've successfully created a second Rocket Pool node on your computer. Please be aware that you'll need to update each node separately, and metrics won't work out of the box. Read this for more information.

After you've read the updating instructions linked above, you can continue with the Setting up a Wallet step in the official guides.

You'll need to use rp1 or rp2 instead of the rocketpool command in the future. Using rocketpool is the same as rp1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment