Updating your execution client
Scenario: In discord, you see an alert that your execution client just announced a new release. How best to update?
⏩ Quick steps guide
🔥 Pro tip: Plan your update to overlap with the longest attestation gap. Learn how here.
From time to time, be sure to update to the latest ETH1 releases to enjoy new improvements and features.
0.1 Update your operating system and ensure it's on the latest long term (LTS) support version.
sudo apt update
sudo apt dist-upgrade -y
1. Stop your execution client process.
# This can take a few minutes.
sudo systemctl stop eth1
2. Update the execution client package or binaries.
Review the latest release notes at https://github.com/ethereum/go-ethereum/releases
Option 1: Download binaries
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
rm geth.tar.gz
sudo mv $HOME/geth-* geth
# Stop the services.
sudo systemctl stop eth1
# Remove old binaries, install new binaries and restart the services.
sudo rm -rf /usr/bin/geth
sudo mv $HOME/geth/geth /usr/bin/geth
sudo systemctl start eth1
rm -r $HOME/geth
Option 2: Update with apt update command from Personal Package Archive (PPA)
# Already handled by previous commands.
# sudo apt update
# sudo apt upgrade -y
3. Start your execution client process.
sudo systemctl start eth1
4. Check the logs to verify the services are working properly and ensure there are no errors.
sudo systemctl status eth1 beacon-chain validator
5. Finally, verify your validator's attestations are working with public block explorer such as
https://beaconcha.in/ or https://beaconscan.com/
Enter your validator's pubkey to view its status.