# Starting Rocket Pool and Setting Up a Node Wallet

At this point, you should have the complete Rocket Pool infrastructure running, including the Smartnode stack, an ETH1 client, and an ETH2 client. You should also have hardened your operating system from outside attackers. If you've completed both of these steps, you're ready to create a Rocket Pool node and begin staking. If not, please review the previous sections and return here once you've completed those steps.

# Starting and Stopping the Rocket Pool Services

# Confirming the Correct Version and Network

Once the containers or services are up, a good first step is to confirm that you have the correct versions of the clients and are on the network that you expect. You can do this with the following command:

rocketpool service version

The output will look like this:

Your Smartnode is currently using the Ethereum Mainnet.

Rocket Pool client version: 1.0.0-pre
Rocket Pool service version: 1.0.0-pre
Selected Eth 1.0 client: Geth (ethereum/client-go:v1.10.8)
Selected Eth 2.0 client: Nimbus (statusim/nimbus-eth2:multiarch-v1.4.2)

The first line will tell you if your Smartnode is configured for the Ethereum mainnet or for the Prater testnet.

NOTE

For Docker / Hybrid users: If you are not on the network you expect to be on, go back to the Installing Rocket Pool section and review the installation instructions - you may have missed the portion that has different instructions depending on which network you want to use.

For Native users: If you accepted the default settings when you first ran rp service config, then it's possible that the network reported here is incorrect. However, your systemctl service definitions should have the correct network baked directly into the command line arguments so you can ignore this discrepancy unless it bothers you.

The second set of lines will tell you which clients you're using, and which versions of them are defined in Rocket Pool's config.yml file.

# Checking the Service Status and Logs

Now that the Smartnode services have been started, it's a good idea to check that they're running correctly without errors.

TIP

When you're done looking at the logs, you can exit and return to the command prompt using Ctrl + C.

# Setting up a Wallet

If the Smartnode services are up and running, the next step is to set up an ETH1 wallet for your node. This is simply an ETH1 address that will hold your node's funds - it will use this to send ETH to your minipool when you begin staking, pay for gas during various transactions, and other various operations.

# Creating a New Wallet

The most common way to run a node is to create a new ETH1 address that is dedicated to the node. The Smartnode CLI provides a way to do this easily:

rocketpool wallet init

You will first be prompted for a password to protect your wallet's private key. Next, you will be presented the unique 24-word mnemonic for your new wallet. This is the recovery phrase for your wallet. If you ever lose your machine, you can use this phrase to regenerate your wallet and resurrect all of the ETH2 validators attached to it.

WARNING

It is essential that you write this mnemonic down because this is the only time it will be shown to you, but keep it somewhere safe. Anyone with this phrase can gain control of your wallet.

Once you confirm your mnemonic phrase, you will be presented with the unique ETH1 address for your node wallet.

# Restoring from an Existing Wallet

If you already have a wallet from a previous installation, you can recover it and regenerate all of the validators attached to it instead of making a new one.

NOTE

This will not work until your eth1 node has finished syncing. Please watch its log file to see when it's done; once it is, you can run follow this step.

To do this, use the following command:

rocketpool wallet recover

This will first ask you for a password you want to use to encrypt your wallet. After that, it will ask for your 24 word mnemonic recovery phrase. Enter it carefully - it will not be shown on-screen for safety, and it is very easy to make a mistake while typing it so take your time.

When you're done, you should see output similar to this:

$ rocketpool wallet recover

Please enter a password to secure your wallet with:

Please confirm your password:

Please enter your recovery mnemonic phrase:

Recovering node wallet...
The node wallet was successfully recovered.
Node account: <your wallet address>
No validator keys were found.

If you don't see any errors, then your wallet and validators will be recovered.

# Your Wallet and Password Files

WARNING

As of the current build, Rocket Pool needs to have access to your wallet's private key in order to perform its automatic duties. This means that the private key will exist in a file on your machine. If an attacker manages to gain access to your machine, they could gain access to your node wallet and steal all of the tokens that it contains! Please ensure that you have followed the security guide in the Securing your Node section before you continue, and are comfortable with your security posture.

# Waiting for Your ETH Clients to Sync

Now that you have a wallet set up, you're going to want to wait until your ETH1 and ETH2 clients have finished syncing with the network before proceeding.

One easy way to check on their status is with the following command:

rocketpool node sync

This command will show how far along your ETH1 and ETH2 clients are in the syncing process, similar to this:

$ rocketpool node sync

Your eth1 client is fully synced.
Your eth2 client is still syncing (16.96%).

You can call this occasionally to keep tabs on your clients' progress.

NOTE

Prysm currently does not support the ability to get the sync progress externally, so Rocket Pool can't read it via this command.

To get an actual ETA of the sync time, it's easiest to look at the logs for your clients with rocketpool service logs eth1 and rocketpool service logs eth2 respectively (or the equivalent log script commands if you're using the hybrid / native modes.) Each client typically provides an ETA on its sync status in its log output.

NOTE

It can take days to fully sync both ETH1 and ETH2 depending on your client selection and your machine's hardware profile. This is expected. As long as the percentage is steadily rising, you are all set. Sit back, relax, and wait for both of them to finish.

Once your nodes are done syncing, move onto the next section for a brief tour of the CLI.