# Practicing with the Test Network

An Ethereum test network (testnet for short) is an Ethereum blockchain, functionally identical to the standard Ethereum blockchain, but it's intended to be used for testing smart contracts before they go live onto the main "real" blockchain (called mainnet). Testnets run in parallel with mainnet - there are actually several of them running right now!

You can read more about some of the ETH1 testnets here (opens new window) if you like. Rocket Pool uses Goerli for its ETH1 testnet. You can use a block explorer for it here if you'd like to take a look at it: https://goerli.etherscan.io/ (opens new window)

The same concept applies to the ETH2 chain as well. Rocket Pool uses Prater for its ETH2 testnet. You can find a block explorer for it here: https://prater.beaconcha.in/ (opens new window)

Because the networks are intended for testing, ETH on them is given out for free to help people test. This ETH cannot be transferred to mainnet; it must stay on Goerli and has no real value, so you can think of it as Monopoly money.

DANGER

DO NOT use your real ETH from mainnet at any point if you are trying out Rocket Pool's test network! You will lose your funds forever if you do this! You should only use test ETH that you received on the Goerli network from a faucet (described below)!

# Configuring the Testnet

The default configuration of Rocket Pool using Docker handles all of the settings involved in using a testnet for you automatically. There's nothing special you need to do.

If you're using a different setup with an external ETH1 or ETH2 client, or are running your clients natively without Docker, then you will need to set this up manually:

  • For Geth: add --goerli to the launch command.
  • For Lighthouse: add --network prater to the launch command.
  • For Nimbus: add --network=prater to the launch command.
  • For Prysm: add --prater to the launch command.
  • For Teku: add --network=prater to the launch command.

Check the next section to learn how to get some test ETH on Goerli, which you'll need to test Rocket Pool out.

# Getting Test ETH on Goerli

To use the Rocket Pool test network, you'll need ETH on Goerli. Luckily, you can get this for free using a faucet - an automated service that will provide you with Goerli ETH to test with.

NOTE

You will need to provide an Ethereum address in order to receive test ETH.

If you are just trying to stake your ETH normally and receive rETH, please review the Staking Guide before getting Goerli ETH. You will be prompted to return here at the appropriate step.

If you are planning to run a node, please go through the Node Operator Guide to set up a node and create a new wallet first. You will be prompted to return here at the appropriate step.

Rocket Pool provides a faucet in its Discord server (opens new window). Join the server and head to the #faucet channel in the TESTNET group. Here, you can interact with a bot that provides Goerli ETH for testing.

You can type !help to receive some useful information about how to use the bot, which will provide the following text:

Rocket Pool Goerli ETH Bot

Welcome to the Rocket Pool Goerli ETH Faucet. See below for my commands.

!goerliEth <address>
Sends 1 goerli eth to the address specified.
Ex: !goerliEth 0x56d389C4E07A48d429035532402301310B8143A0
Purpose: so you can test out UI staking at https://beta.rocketpool.net/ and/or register your node.

!nodeOperator <address>
Sends 17 goerli eth to the address specified.
Ex: !nodeOperator 0x56d389C4E07A48d429035532402301310B8143A0
Purpose: so you can set up your 16 goerli eth node.
Note: you must be registered with Rocket Pool before requesting.

!help
Shows this message.

!mod
Tags the maintainers of this bot, please use if you are experiencing any issues.

If you aren't planning to register a node and just want some ETH to test staking to receive rETH, or if you are planning to register a node but haven't yet, type the following command in the channel:

!goerliEth <your goerli address>

without the angle brackets. If your wallet doesn't have any ETH already, the bot will send your wallet 1 ETH to test with.

If you are planning to run a node, do the following:

  1. Start by running the !goerliEth command above to acquire enough gas to register your node
  2. Register your node (see the Preparing your Node page for instructions)
  3. Run the following command to get 16 Goerli ETH so you can create a validator:
!nodeOperator <your goerli address>

In order to use !nodeOperator, the address you provide it must be a registered Rocket Pool node. Therefore, you must follow these 3 steps in that order.

NOTE

To prevent abuse, there is a cooldown timer on sending messages in the faucet channel. Therefore, there will be a delay between when you can run the !goerliEth and !nodeOperator commands. If you want to bypass this, you can always ask for help - someone who has a cooldown available will likely be able to run the command for you.

# Getting Test RPL on Goerli

If you're testing out node operation, you'll need some test RPL in addition to test ETH. To get this, you'll need to use the Smartnode stack's command line interface (CLI) tool. You'll want to set up the Smartnode stack following the Node Operator's guide before collecting RPL from the faucet.

Once your Smartnode CLI is installed and you have a wallet assigned to your node, you can access the built-in RPL faucet. Use the following command to check on its status:

rocketpool faucet status

The output will look like this:

The faucet has a balance of 1999400.000000 RPL.
You can withdraw 600.000000 RPL (requires a 0.500000 GoETH fee)!
Allowances reset in 26585 blocks.

The faucet is on a timer, so each node operator can only use the faucet once every 4 or 5 days.

  • The faucet balance indicates how much RPL is still available.
  • The withdraw amount shows how much RPL you can receive from the faucet during the current cycle. If you already used the faucet, this line will change to let you know that you can't use it again this cycle.
  • The reset timer shows how long (in blocks) it is until the next cycle, at which point you can use the faucet again. The amount of time remaining (in seconds) is approximately this number * 13 seconds per block / 60 seconds.

NOTE

The RPL faucet charges a 0.5 goerli ETH fee to use it, in order to prevent people from abusing the system. You'll need to have at least this amount in your node wallet already in order to use it!

When you're ready to receive RPL from the faucet, use the following command:

rocketpool faucet withdraw-rpl

After a short wait, you'll see the following output:

Successfully withdrew 600.000000 RPL from the faucet.

This will provide you with 600 of the legacy (v1) RPL token, which is analogous to the original RPL token on mainnet. Rocket Pool uses a new (v2) RPL token which supports the inflation used to reward node operators.

To learn how to swap legacy RPL for new RPL, follow the steps in the Creating a Minipool (ETH2 Validator) guide.