Update your software with a keystroke.
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.
Option 1 - Download binariesRun the following to automatically download the latest linux release, un-zip and cleanup.
Copy 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.
Copy sudo systemctl stop execution
Remove old binaries, install new binaries and restart the services.
Copy sudo rm -rf /usr/local/bin/nethermind
sudo mv $HOME/nethermind /usr/local/bin/nethermind
sudo systemctl start execution
Option 2 - Build from source codeBuild the binaries.
Copy 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.
Copy ./nethermind/nethermind --version
Sample output of a compatible version.
Copy 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.
Copy sudo systemctl stop execution
Remove old binaries, install new binaries and restart the services.
Copy sudo rm -rf /usr/local/bin/nethermind
sudo mv $HOME/git/nethermind/nethermind /usr/local/bin
sudo systemctl start execution
Option 1 - Download binariesRun the following to automatically download the latest linux release, un-tar and cleanup.
Copy RELEASE_URL="https://api.github.com/repos/hyperledger/besu/releases/latest"
TAG=$(curl -s $RELEASE_URL | jq -r .tag_name)
BINARIES_URL="https://github.com/hyperledger/besu/releases/download/$TAG/besu-$TAG.tar.gz"
echo Downloading URL: $BINARIES_URL
cd $HOME
wget -O besu.tar.gz $BINARIES_URL
tar -xzvf besu.tar.gz -C $HOME
rm besu.tar.gz
sudo mv $HOME/besu-* besu
Stop the services.
Copy sudo systemctl stop execution
Remove old binaries, install new binaries and restart the services.
Copy sudo rm -rf /usr/local/bin/besu
sudo mv $HOME/besu /usr/local/bin/besu
sudo systemctl start execution
Option 2 - Build from source codeBuild the binaries.
Copy cd ~/git/besu
# 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
./gradlew installDist
Verify Besu was properly built by checking the version.
Copy ./build/install/besu/bin/besu --version
Sample output of a compatible version.
Copy besu/v23.4.0/linux-x86_64/openjdk-java-17
Stop the services.
Copy sudo systemctl stop execution
Remove old binaries, install new binaries and restart the services.
Copy sudo rm -rf /usr/local/bin/besu
sudo cp -a $HOME/git/besu/build/install/besu /usr/local/bin/besu
sudo systemctl start execution
Option 1 - Download binaries
Copy RELEASE_URL="https://geth.ethereum.org/downloads"
FILE="https://gethstore.blob.core.windows.net/builds/geth-linux-amd64[a-zA-Z0-9./?=_%:-]*.tar.gz"
BINARIES_URL="$(curl -s $RELEASE_URL | grep -Eo $FILE | head -1)"
echo Downloading URL: $BINARIES_URL
cd $HOME
wget -O geth.tar.gz $BINARIES_URL
tar -xzvf geth.tar.gz -C $HOME --strip-components=1
Stop the services.
Copy sudo systemctl stop execution
Install new binaries, restart the services and cleanup files.
Copy sudo mv $HOME/geth /usr/local/bin
sudo systemctl start execution
rm geth.tar.gz COPYING
Option 2 - Build from source codeBuild the binary.
Copy cd $HOME/git/go-ethereum
# 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
make geth
Stop the services.
Copy sudo systemctl stop execution
Remove old binaries, install new binaries and restart the services.
Copy sudo rm -rf /usr/local/bin/geth
sudo cp $HOME/git/go-ethereum/build/bin/geth /usr/local/bin
sudo systemctl start execution
Option 1 - Download binariesRun the following to automatically download the latest linux release, un-tar and cleanup.
Copy RELEASE_URL="https://api.github.com/repos/ledgerwatch/erigon/releases/latest"
BINARIES_URL="$(curl -s $RELEASE_URL | jq -r ".assets[] | select(.name) | .browser_download_url" | grep linux_amd64)"
echo Downloading URL: $BINARIES_URL
cd $HOME
wget -O erigon.tar.gz $BINARIES_URL
tar -xzvf erigon.tar.gz -C $HOME
rm erigon.tar.gz README.md
Stop the services.
Copy sudo systemctl stop execution
Remove old binaries, install new binaries and restart the services.
Copy sudo rm -rf /usr/local/bin/erigon
sudo mv $HOME/erigon /usr/local/bin/erigon
sudo systemctl start execution
Option 2 - Build from source codeBuild the binary.
Copy cd $HOME/git/erigon
git fetch --tags
# Get latest tag name
latestTag=$(git describe --tags `git rev-list --tags --max-count=1`)
# Checkout latest tag
git checkout $latestTag
make erigon
Stop the services.
Copy sudo systemctl stop execution
Remove old binaries, install new binaries and restart the services.
Copy sudo rm -rf /usr/local/bin/erigon
sudo cp $HOME/git/erigon/build/bin/erigon /usr/local/bin
sudo systemctl start execution
Option 1 - Download binariesRun the following to automatically download the latest linux release, un-tar and cleanup.
Copy RELEASE_URL="https://api.github.com/repos/paradigmxyz/reth/releases/latest"
BINARIES_URL="$(curl -s $RELEASE_URL | jq -r ".assets[] | select(.name) | .browser_download_url" | grep x86_64-unknown-linux-gnu.tar.gz$)"
echo Downloading URL: $BINARIES_URL
cd $HOME
wget -O reth.tar.gz $BINARIES_URL
tar -xzvf reth.tar.gz -C $HOME
rm reth.tar.gz
Stop the services.
Copy sudo systemctl stop execution
Remove old binaries, install new binaries, display the version, and restart the services.
Copy sudo rm -rf /usr/local/bin/reth
sudo mv $HOME/reth /usr/local/bin
reth --version
sudo systemctl restart execution
Option 2 - Build from source codeBuild the binaries.
Copy cd ~/git/reth
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 the release
cargo build --release
Verify Reth was built properly by checking the version number.
Copy ~/git/reth/target/release/reth --version
In case of compilation errors, run the following sequence.
Copy rustup update
cargo clean
cargo build --release
Stop the services.
Copy sudo systemctl stop execution
Remove old binaries, install new binaries and restart the services.
Copy sudo rm -rf /usr/local/bin/reth
sudo cp ~/git/reth/target/release/reth /usr/local/bin
sudo systemctl restart execution
Step 2: Verify services and logs are working properly
Copy # Verify services status
sudo systemctl status execution
Copy # Check logs
sudo journalctl -fu execution
Step 3: Optional - Verify your validator's attestations on public block explorer
2) Enter your validator's pubkey into the search bar and look for successful attestations.