Updating Execution Client

When a new release is cut, you will want to update to the latest stable release. The following shows you how to update your execution client.

Step 1: Select your execution client.

Nethermind

Option 1 - Download binaries

Run the following to automatically download the latest linux release, un-zip and cleanup.

RELEASE_URL="https://api.github.com/repos/NethermindEth/nethermind/releases/latest"
BINARIES_URL="$(curl -s $RELEASE_URL | jq -r ".assets[] | select(.name) | .browser_download_url" | grep linux-x64)"

echo Downloading URL: $BINARIES_URL

cd $HOME
wget -O nethermind.zip $BINARIES_URL
unzip -o nethermind.zip -d $HOME/nethermind
rm nethermind.zip

Stop the services.

sudo systemctl stop execution

Remove old binaries, install new binaries and restart the services.

sudo rm -rf /usr/local/bin/nethermind
sudo mv $HOME/nethermind /usr/local/bin/nethermind
sudo systemctl start execution
Option 2 - Build from source code

Build the binaries.

cd ~/git/nethermind
# Get new tags
git fetch --tags
# Get latest tag name
latestTag=$(git describe --tags `git rev-list --tags --max-count=1`)
# Checkout latest tag
git checkout $latestTag
# Build
dotnet publish src/Nethermind/Nethermind.Runner -c release -o nethermind

Verify Nethermind was properly built by checking the version.

./nethermind/nethermind --version

Sample output of a compatible version.

Version: 1.25.2+78c7bf5f
Commit: 78c7bf5f2c0819f23e248ee6d108c17cd053ffd3
Build Date: 2024-01-23 06:34:53Z
OS: Linux x64
Runtime: .NET 8.0.1

Stop the services.

sudo systemctl stop execution

Remove old binaries, install new binaries and restart the services.

sudo rm -rf /usr/local/bin/nethermind
sudo mv $HOME/git/nethermind/nethermind /usr/local/bin
sudo systemctl start execution

Besu

Option 1 - Download binaries

Run the following to automatically download the latest linux release, un-tar and cleanup.

Stop the services.

Remove old binaries, install new binaries and restart the services.

Option 2 - Build from source code

Build the binaries.

Verify Besu was properly built by checking the version.

Sample output of a compatible version.

Stop the services.

Remove old binaries, install new binaries and restart the services.

Geth

Option 1 - Download binaries

Stop the services.

Install new binaries, restart the services and cleanup files.

Option 2 - Build from source code

Build the binary.

Stop the services.

Remove old binaries, install new binaries and restart the services.

Erigon

Option 1 - Download binaries

Run the following to automatically download the latest linux release, un-tar and cleanup.

Stop the services.

Remove old binaries, install new binaries and restart the services.

Option 2 - Build from source code

Build the binary.

Stop the services.

Remove old binaries, install new binaries and restart the services.

Reth

Option 1 - Download binaries

Run the following to automatically download the latest linux release, un-tar and cleanup.

Stop the services.

Remove old binaries, install new binaries, display the version, and restart the services.

Option 2 - Build from source code

Build the binaries.

Verify Reth was built properly by checking the version number.

In case of compilation errors, run the following sequence.

Stop the services.

Remove old binaries, install new binaries and restart the services.

Step 2: Verify services and logs are working properly

Step 3: Optional - Verify your validator's attestations on public block explorer

1) Visit https://beaconcha.in/ or https://beaconscan.com/

2) Enter your validator's pubkey into the search bar and look for successful attestations.

Last updated