🛡️Switching / Migrating Execution Client

Important reasons why you would want to switch Execution Clients:

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.

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

Step 1: Remove OLD Execution Client

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
Step 2: Install NEW Execution Client

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


Step 3: Restart Consensus Client

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

sudo systemctl restart beacon-chain
Step 4: Update Monitoring tools

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

Congrats on switching to a new execution client!

Last updated