Replacements

Clean-up testnet data

First, stop all existing clients running on the Holesky testnet.

sudo systemctl stop "execution_client.service"
sudo systemctl stop "consensus_client.service"
sudo systemctl stop "validator_client.service"

Additionally, for Lodestar users:

cd ~/lodestar_beacon
docker compose down
cd ~/validator
docker compose down

Then remove all existing data from client data directories. Select the ones relevant to your setup:

#Nethermind
sudo rm -r /var/lib/nethermind/*
#Besu
sudo rm -r /var/lib/besu/*
#Teku consensus
sudo rm -r /var/lib/teku_beacon/*
#Nimbus consensus
sudo rm -r /var/lib/nimbus_beacon/*
#Lodestar consensus
sudo rm -r /var/lib/lodestar_beacon/*
#Teku validator
sudo rm -r /var/lib/teku_validator/*
#Nimbus validator
sudo rm -r /var/lib/nimbus_validator/*
#Lodestar validator
sudo rm -r /var/lib/lodestar_validator/*

Execution clients

  1. Optionally, change the Description to Mainnet in the systemd configuration or docker-compose.yml for clarity - e.g.

    • Description=Nethermind/Besu Execution Client (Mainnet)

  2. Set the network parameter in the systemd configuration files from holesky to mainnet - e.g.

    sudo nano /etc/systemd/system/"execution_client.service"
    • Nethermind: --config mainnet

    • Besu: --network=holesky

Consensus clients

  1. Optionally, change the Description to Mainnet in the systemd configuration or docker-compose.yml for clarity - e.g.

    • Description=Teku/Nimbus/Lodestar Consensus Client (Mainnet)

  2. Set the network parameter in the systemd configuration or docker-compose.yml files from holesky to mainnet - e.g.

    sudo nano /etc/systemd/system/"consensus_client.service"
    • Teku (systemd): --network=holesky

    • Nimbus (systemd): --network=holesky

    • Lodestar (docker-compose.yml):

      sudo nano ~/lodestar_beacon/docker-compose.yml
      • Amend --network flag

              - --network
              - mainnet
  3. Set the checkpoint sync parameter in the systemd configuration or docker-compose.yml files from a holesky endpoint to mainnet - e.g.

    • Teku (systemd): --initial-state=

    • Nimbus: Re-run the checkpoint sync process on the mainnet separately.

      sudo /usr/local/bin/nimbus_beacon_node trustedNodeSync --network=mainnet --data-dir=/var/lib/nimbus_beacon --trusted-node-url=https://beaconstate.ethstaker.cc/ --backfill=false
    • Lodestar (docker-compose.yml):

            - --checkpointSyncUrl
            - https://beaconstate.ethstaker.cc

Choose one of the mainnet checkpoint sync URLs here - https://eth-clients.github.io/checkpoint-sync-endpoints/

Jump to section for reference below.

MEV-Boost

  1. Remove the -holesky flag in the systemd configuration file

  2. Replace the URLs for your relays (-relay flag) with Mainnet ones.

sudo nano /etc/systemd/system/mevboost.service

Jump to section for reference below.

Validator clients

  1. Optionally, change the Description to Mainnet in the systemd configuration or docker-compose.yml for clarity - e.g.

    • Description=Teku/Nimbus/Lodestar Validator Client (Mainnet)

  2. Set the network parameter in the systemd configuration or docker-compose.yml files from holesky to mainnet - e.g.

    sudo nano /etc/systemd/system/"validator_client.service"
    • Teku (systemd): --network=holesky

    • Nimbus (systemd): No changes required

    • Lodestar (docker-compose.yml):

      sudo nano ~/lodestar_validator/docker-compose.yml
      • Amend --network flag

              - --network
              - mainnet

Jump to section for reference below.

Validator key generation

Generate a new validator signing keystore and deposit data set for mainnet use.

After following all prior steps, re-run the deposit key generation process while setting the --chain flag to mainnet.

Build from source method

python3 ./staking_deposit/deposit.py new-mnemonic --num_validators <number> --chain mainnet --eth1_withdrawal_address <YourWithdrawalAaddress>

Executable binaries method

./deposit new-mnemonic --num_validators <number> --chain mainnet --eth1_withdrawal_address <YourWithdrawalAaddress>

Jump to section for reference below.

Depositing 32 ETH

Go to https://launchpad.ethereum.org to complete the deposit process. Jump to section for reference below.

Triple check that the launch pad URL is pointing to the Mainnet and not the Holesky testnet.

Monitoring

Beaconcha.in app

Go to https://beaconcha.in instead and repeat all steps. Jump to section for reference below.

Diva Staking Setup

Coming soon!

Jump to section for reference below.

Last updated