githubEdit

πŸ›‘οΈSwitching / Migrating Execution Client

circle-info

Important reasons why you would want to switch Execution Clients:

πŸ¦‰ Client Diversity: Improve Ethereum's resilience by using a minority clientarrow-up-right

πŸ’Ύ Unique Features: Each client has their own strengths, i.e. faster sync, lower resource requirements, different programming language, unique abilities

circle-info

πŸ”₯Optional Tip: Before switching, it is possible to minimize downtime and keep your validator online by using a failover node, either your own EL/CL stack, or a public service.

Here are some public options:

However, as validator downtime incurs minimal penalties, the added complexity might not be worth your time and extra work configuring a failover option.

circle-info

The following steps align with our mainnet guide. You may need to adjust file names and directory locations where appropriate. The core concepts remain the same.

Manual Method

chevron-rightStep 1: Remove OLD Execution Clienthashtag

Stop execution client and remove data paths, binaries and service files.

# Stop Execution Client
sudo systemctl stop eth1
sudo systemctl disable eth1

# Remove service file
sudo rm /etc/systemd/system/eth1.service

# Nethermind
sudo rm -rf $HOME/nethermind
sudo rm -rf $HOME/.nethermind

# Besu
sudo rm -rf $HOME/besu
sudo rm -rf $HOME/.besu

# Geth
sudo rm -rf /usr/bin/geth
sudo rm -rf $HOME/.ethereum
sudo add-apt-repository --remove ppa:ethereum/ethereum -y
sudo apt remove ethereum -y

# Erigon
sudo rm -rf $HOME/erigon
sudo rm -rf /var/lib/erigon
chevron-rightStep 2: Install NEW Execution Clienthashtag

Follow the instructions found under section: Installing a new Execution Client.


πŸ”₯Tip: As well as being a minority client, Nethermind is known to be incredibly fast at syncing, often as quick as 2 hours with fast NVME drives.

chevron-rightStep 3: Restart Consensus Clienthashtag

Ensure the consensus client establishes a connection to the new execution client.

chevron-rightStep 4: Update Monitoring toolshashtag

Promentheus and Grafana:

  • Revisit the monitoring guide and update your prometheus.ymlconfiguration for the new execution client.

  • Ensure prometheus is connected to your new execution client's metrics port 6060.

  • Also import your new execution client's dashboard.

Beaconcha.in Mobile App:

  • To receive new notifications, update your app's settings to indicate you're using a different execution client

circle-check

Last updated