Skip to content

Instantly share code, notes, and snippets.

@0xobjectObject
Last active September 5, 2022 09:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 0xobjectObject/85a4170fd7e013da1c55d915bb0011f3 to your computer and use it in GitHub Desktop.
Save 0xobjectObject/85a4170fd7e013da1c55d915bb0011f3 to your computer and use it in GitHub Desktop.

Running a testnet node and mainnet node on the same computer

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

Unlike the other guides, this will require a few hundred GB to store the chain data, and almost double your Internet bandwidth requirements because your computer will be talking to two networks at once. Don't attempt this on a Pi, you'll need a slightly more powerful computer for this, and 32GB RAM would be a good idea, too.

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

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. Prater Testnet
  3. Locally Managed
  4. Choose the EC you want to use or stay with Random.
  5. Choose the CC you want to use or stay with Random. Choose whatever you want for Graffiti and Doppelgänger Protection. Use https://prater-sync.invis.tools as your Checkpoint Sync URL.
  6. If you have a working testnet 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 would also be a good time to modify the memory settings and peer counts of your ETH1/ETH2 clients, if you want to save some resources. You should also change your EC+CC P2P ports to something else (maybe 30304+9002) so they don't conflict with your mainnet node. Don't forget to forward those ports in your router, too.

Then 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.

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.

If you're using a Beta version for Tesntet, don't use the updating script or it will overwrite your Beta version again. You'll also need to update your ~/.profile to point to the beta binary.

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