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
Optionally, change the Description to Mainnet in the systemd configuration or docker-compose.yml for clarity - e.g.
Description=Nethermind/Besu Execution Client (Mainnet)
Set the network parameter in the systemd configuration files from holesky to mainnet - e.g.
Nethermind: --config mainnet
Set up and configure execution layer clientConsensus clients
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)
Set the network parameter in the systemd configuration or docker-compose.yml files from holesky to mainnet - e.g.
Teku (systemd): --network=holesky
Nimbus (systemd): --network=holesky
Lodestar (docker-compose.yml):
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.
Lodestar (docker-compose.yml):
Jump to section for reference below.
Set up and configure consensus layer clientRemove the -holesky flag in the systemd configuration file
Replace the URLs for your relays (-relay flag) with Mainnet ones.
Jump to section for reference below.
Set up and configure MEV-boostValidator clients
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)
Set the network parameter in the systemd configuration or docker-compose.yml files from holesky to mainnet - e.g.
Teku (systemd): --network=holesky
Nimbus (systemd): No changes required
Lodestar (docker-compose.yml):
Jump to section for reference below.
Validator client setupValidator 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
Executable binaries method
Jump to section for reference below.
Validator key generationDepositing 32 ETH
Go to https://launchpad.ethereum.org to complete the deposit process. Jump to section for reference below.
Depositing 32 ETH into your validatorBeaconcha.in app
Go to https://beaconcha.in instead and repeat all steps. Jump to section for reference below.
Beaconcha.in App APIDiva Staking Setup
Jump to section for reference below.
DVT Setup