Updating Execution Clients
Procedure for upgrading Geth, Nethermind, Besu, etc.
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., v1.x to v2.x) may require a database migration (resync).
General Workflow
Stop the Service:
sudo systemctl stop <service_name>Download New Binary: Fetch the latest release.
Replace Binary: Overwrite the old file in
/usr/bin/or/usr/local/lib/.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
We must manually fetch the new zip file and replace the existing libraries.
Bash
# 1. Stop service
sudo systemctl stop nethermind
# 2. Download new release (Check GitHub for latest link)
wget [https://github.com/NethermindEth/nethermind/releases/download/.../nethermind-linux-x64.zip](https://github.com/NethermindEth/nethermind/releases/download/.../nethermind-linux-x64.zip)
# 3. Unzip and overwrite (Assuming installation in /usr/local/lib/nethermind)
sudo unzip -o nethermind-linux-x64.zip -d /usr/local/lib/nethermind
# 4. Restart service
sudo systemctl start nethermind🟢 Besu
Download the new tarball and extract it.
Bash
# 1. Stop service
sudo systemctl stop besu
# 2. Download new release
wget [https://hyperledger.jfrog.io/.../besu-x.x.x.tar.gz](https://hyperledger.jfrog.io/.../besu-x.x.x.tar.gz) -O besu.tar.gz
# 3. Extract and overwrite
# Note: Besu extracts into a versioned folder. You may need to copy contents or update your systemd path.
sudo tar -xvzf besu.tar.gz -C /usr/local/lib/besu --strip-components=1
# 4. Restart service
sudo systemctl start besu🟣 Erigon
Download the new binary and replace the existing one.
Bash
# 1. Stop service
sudo systemctl stop erigon
# 2. Download new binary
wget [https://github.com/erigontech/erigon/releases/.../erigon_x.x.x_linux_amd64.tar.gz](https://github.com/erigontech/erigon/releases/.../erigon_x.x.x_linux_amd64.tar.gz)
# 3. Extract and replace
tar -xvf erigon_x.x.x_linux_amd64.tar.gz
sudo cp erigon /usr/local/lib/erigon/
sudo chmod +x /usr/local/lib/erigon/erigon
# 4. Restart service
sudo systemctl start erigonLast updated