Updating Execution Clients

Procedure for upgrading Geth, Nethermind, Besu, etc.

Updating Execution Clients

The update process for Execution Clients (EL) generally involves downloading the new binary, stopping the service, swapping the files, and restarting.

⚠️ Critical: Always check the specific release notes. Major version upgrades (e.g., Erigon v2 to v3) may require a full database resync — old data is not always compatible.


General Workflow

  1. Stop the Service: sudo systemctl stop <service_name>

  2. Download New Binary: Fetch the latest release.

  3. Replace Binary: Overwrite the old file in /usr/bin/ or /usr/local/lib/.

  4. Restart: sudo systemctl start <service_name>


🔵 Geth (Go-Ethereum)

Since we installed Geth via PPA, the update process is automated via the package manager.

# 1. Update repository and install latest version
sudo apt update && sudo apt install geth

# 2. Restart the service to apply changes
sudo systemctl restart geth

# 3. Verify new version
geth version

⚫ Nethermind

Since we installed Nethermind via PPA, the update process is the same as Geth — automated via the package manager.


🟢 Besu

Download the new tarball and extract it.


🟣 Erigon

Download the new binary and replace the existing one.

⚠️ Erigon v2 → v3 Migration: Erigon v3 is not compatible with v2 data. If upgrading from v2, you must re-sync with a fresh --datadir. See the Erigon v3 release notesarrow-up-right for details.


🔴 Reth

Download the new binary and replace the existing one.

Last updated