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.

Option 1: Automated One-Liner

Simply copy and paste the command into your terminal.

Open source source code available here: https://github.com/coincashew/client-switcherarrow-up-right

sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/coincashew/client-switcher/master/install.sh)"
One-liner screenshot

Option 2: Manual Method

chevron-rightStep 1: Remove OLD Execution Clienthashtag

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

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