CoinCashew
English
Search…
⌃K
Links

Updating your consensus client

Scenario: In discord, you see an alert that your consensus client just announced a new release. How best to update?
🎊
Support us on Gitcoin Grants: We improve this guide with your support!🙏

Quick steps guide

The following steps align with our mainnet guide. You may need to adjust file names and directory locations where appropriate. The core concepts remain the same.
When a new release is cut, you will want to update to the latest stable release. The following shows you how to update your beacon chain and validator.
Always review the git logs with command git logor release notes before updating. There may be changes requiring your attention.
🔥
Pro tip: Plan your update to overlap with the longest attestation gap. Learn how here.
  1. 1.
    Select your consensus client.
Lighthouse
Nimbus
Teku
Prysm
Lodestar
Review release notes and check for breaking changes/features.
As of v3.2.0, a new build dependency is required. Install this first.
sudo apt install protobuf-compiler
Pull the latest source and build it.
cd $HOME/git/lighthouse
git fetch --all && git checkout stable && git pull
make
sudo apt install protobuf-compiler
In case of compilation errors, update Rust with the following sequence.
rustup update
cargo clean
make
Verify the build completed by checking the new version number.
lighthouse --version
Restart beacon chain and validator as per normal operating procedures.
sudo systemctl reload-or-restart beacon-chain validator
Review release notes and check for breaking changes/features.
Pull the latest source and build it.
cd $HOME/git/nimbus-eth2
git pull && make -j$(nproc) update
make -j$(nproc) nimbus_beacon_node
Verify the build completed by checking the new version number.
cd $HOME/git/nimbus-eth2/build
./nimbus_beacon_node --version
Stop, copy new binary, and restart beacon chain and validator as per normal operating procedures.
sudo systemctl stop beacon-chain
sudo rm /usr/bin/nimbus_beacon_node
sudo cp $HOME/git/nimbus-eth2/build/nimbus_beacon_node /usr/bin
sudo systemctl reload-or-restart beacon-chain
Review release notes and check for breaking changes/features.
Pull the latest source and build it.
cd $HOME/git/teku
git pull
./gradlew distTar installDist
Verify the build completed by checking the new version number.
cd $HOME/git/teku/build/install/teku/bin
./teku --version
Restart beacon chain and validator as per normal operating procedures.
sudo systemctl stop beacon-chain
sudo rm -rf /usr/bin/teku
sudo cp -r $HOME/git/teku/build/install/teku /usr/bin/teku
sudo systemctl reload-or-restart beacon-chain
Review release notes and check for breaking changes/features.
#Simply restart the processes
sudo systemctl reload-or-restart beacon-chain validator
Review release notes and check for breaking changes/features.
Pull the latest source and build it.
cd $HOME/git/lodestar
git pull
yarn install
yarn run build
Verify the build completed by checking the new version number.
./lodestar --version
Restart beacon chain and validator as per normal operating procedures.
sudo systemctl reload-or-restart beacon-chain validator
2. Check the logs to verify the services are working properly and ensure there are no errors.
Lighthouse | Prysm | Lodestar
Nimbus | Teku
sudo systemctl status beacon-chain validator
sudo systemctl status beacon-chain
3. Finally, verify your validator's attestations are working with public block explorer such as
Enter your validator's pubkey to view its status.