NodeBridgeAfrica
  • 😌Home
  • About Us
  • 🔔Community Code of Conduct
  • 🚀Support Nodebridge Africa
  • 🚫Disclaimer
  • Understanding Blockchain
  • Consensus Mechanism in Blockchain
  • Understanding Staking and Node
  • Node Operator vs. Validator: Understanding the Differences
    • Node Operator and Validator
    • Roles & Responsibilities of an Ethereum node operator
    • Skillset Required
    • Understanding the Ethereum Validator Process
  • Rewards and Penalties for Ethereum Validators
  • Client Diversity
  • Bonded Validators
  • Node Setup and Configuration Guide
  • Hardware & System Requirements
    • Initial Setup
      • Hardware Requirements
      • Internet Requirement
      • Configure time sync
    • Practicing on Cloud VMs
    • Install and prepare the OS
    • Node Security: Root, Networking & Network Security
    • Advanced networking
  • Introduction to ETH Validators
  • NodeBridge Africa Community
    • Setting Up an Ethereum Validator Node In Africa
  • Staking Guide
    • Ethereum Staking Guide
      • Ethereum Guide
        • Guide: How to Setup a validator on Holesky Testnet
          • Overview - Manual Installation
          • Step 1: Prerequisites
          • Step 2: Configuring Node
          • Step 3: Installing execution client
            • Besu
            • Erigon
            • Geth
            • Nethermind
            • Reth
          • Step 4: Installing consensus client
            • Lighthouse
            • Lodestar
            • Nimbus
            • Prysm
            • Teku
          • Step 5: Installing Validator
            • Installing Validator
              • Lighthouse
              • Lodestar
              • Nimbus
              • Prysm
              • Teku
            • Setting up Validator Keys
            • Next Steps
          • Maintenance
            • Updating Execution Client
            • Updating Consensus Client
            • Uninstalling Staking Node
            • Backups Checklist: Critical Staking Node Data
        • Guide | How to setup a validator for Ethereum staking on mainnet
          • Overview - Manual Installation
          • PART I - INSTALLATION
          • PART I - INSTALLATION
            • Step 1: Prerequisites
            • Step 2: Configuring Node
            • Step 3: Installing execution client
              • Besu
              • Erigon
              • Geth
              • Nethermind
              • Reth
            • Step 4: Installing consensus client
              • Lighthouse
              • Lodestar
              • Nimbus
              • Prysm
              • Teku
            • Step 5: Installing Validator
              • Installing Validator
                • Lighthouse
                • Lodestar
                • Nimbus
                • Prysm
                • Teku
              • Setting up Validator Keys
              • Next Steps
            • Synchronizing time with Chrony
            • Monitoring with Uptime Check by Google Cloud
            • Mobile App Node Monitoring by beaconcha.in
            • Monitoring your validator with Grafana and Prometheus
            • Security Best Practices for your ETH staking validator node
          • PART II - MAINTENANCE
          • PART II - MAINTENANCE
            • Updating Consensus Client
            • Updating Execution Client
            • Finding the longest attestation slot gap
            • Backups Checklist: Critical Staking Node Data
            • Checking my eth validator's sync committee duties
            • Checklist | Confirming a healthy functional ETH staking node
            • Uninstalling Staking Node
          • PART III - TIPS
          • PART III - TIPS
            • Voluntary Exiting a Validator
            • Verifying Your Mnemonic Phrase
            • Adding a New Validator to an Existing Setup with Existing Seed Words
            • How to re-sync using checkpoint sync
            • Dealing with Storage Issues on the Execution Client
            • Disk Usage by Execution / Consensus Client
            • EIP2333 Key Generator by iancoleman.io
            • Geth - Enabling path-based state storage
            • Important Directory Locations
            • Improving Validator Attestation Effectiveness
            • Reducing Network Bandwidth Usage
            • Running a slasher
            • Setting up dynamic DNS (DDNS)
            • Switching / Migrating Execution Client
            • Switching / Migrating Consensus Client
            • Using All Available LVM Disk Space
            • Using Node as RPC URL endpoint
        • Guide: How to stake on ETH 2.0 Altona Testnet with Lighthouse on Ubuntu
        • Guide | How to setup a validator on ETH2 mainnet
        • Guide | MEV-boost for Ethereum Staking
          • MEV Relay List
        • Security Best Practices for your ETH staking validator node
        • Guide | Recover Ethereum Validator Mnemonic Seed
        • Update Withdrawal Keys for Ethereum Validator (BLS to Execution Change or 0x00 to 0x01) with ETHDO
        • Downloading files from your node
      • TIPS
    • Gnosis Staking Guide
      • Guide: How to Setup a validator on Chiado Testnet
        • Overview - Manual Installation
        • Step 1: Prerequisites
        • Step 2: Configuring Node
        • Step 3: Installing execution client
          • Besu
          • Erigon
          • Geth
          • Nethermind
          • Reth
        • Step 4: Installing consensus client
          • Lighthouse
          • Lodestar
          • Nimbus
          • Teku
        • Step 5: Installing Validator
          • Installing Validator
            • Lighthouse
            • Lodestar
            • Nimbus
            • Prysm
            • Teku
          • Setting up Validator Keys
          • Next Steps
        • Maintenance
          • Updating Execution Client
          • Updating Consensus Client
          • Uninstalling Staking Node
          • Backups Checklist: Critical Staking Node Data
      • Guide | How to setup a validator for Gnosis staking on mainnet
        • Overview - Manual Installation
        • PART I - INSTALLATION
        • PART I - INSTALLATION
          • Step 1: Prerequisites
          • Step 2: Configuring Node
          • Step 3: Installing execution client
            • Besu
            • Erigon
            • Geth
            • Nethermind
            • Reth
          • Step 4: Installing consensus client
            • Lighthouse
            • Lodestar
            • Nimbus
            • Prysm
            • Teku
          • Step 5: Installing Validator
            • Installing Validator
              • Lighthouse
              • Lodestar
              • Nimbus
              • Prysm
              • Teku
            • Setting up Validator Keys
            • Next Steps
          • Synchronizing time with Chrony
          • Monitoring with Uptime Check by Google Cloud
          • Mobile App Node Monitoring by beaconcha.in
          • Monitoring your validator with Grafana and Prometheus
          • Security Best Practices for your ETH staking validator node
        • PART II - MAINTENANCE
        • PART II - MAINTENANCE
          • Updating Consensus Client
          • Updating Execution Client
          • Finding the longest attestation slot gap
          • Backups Checklist: Critical Staking Node Data
          • Checking my eth validator's sync committee duties
          • Checklist | Confirming a healthy functional ETH staking node
          • Uninstalling Staking Node
        • PART III - TIPS
        • PART III - TIPS
          • Voluntary Exiting a Validator
          • Verifying Your Mnemonic Phrase
          • Adding a New Validator to an Existing Setup with Existing Seed Words
          • How to re-sync using checkpoint sync
          • Dealing with Storage Issues on the Execution Client
          • Disk Usage by Execution / Consensus Client
          • EIP2333 Key Generator by iancoleman.io
          • Geth - Enabling path-based state storage
          • Important Directory Locations
          • Improving Validator Attestation Effectiveness
          • Reducing Network Bandwidth Usage
          • Running a slasher
          • Setting up dynamic DNS (DDNS)
          • Switching / Migrating Execution Client
          • Switching / Migrating Consensus Client
          • Using All Available LVM Disk Space
          • Using Node as RPC URL endpoint
      • Security Best Practices for your ETH staking validator node
    • Lido Community Staking Module(CSM) and Obol DVT Guide
      • Guide: How to Setup a validator on Chiado Testnet
        • Overview - Manual Installation
        • Step 1: Prerequisites
        • Step 2: Configuring Node
        • Step 3: Installing execution client
          • Besu
          • Erigon
          • Geth
          • Nethermind
          • Reth
        • Step 4: Installing consensus client
          • Lighthouse
          • Lodestar
          • Nimbus
          • Teku
        • Step 5: Installing Validator
          • Installing Validator
            • Lighthouse
            • Lodestar
            • Nimbus
            • Prysm
            • Teku
          • Setting up Validator Keys
          • Next Steps
        • Maintenance
          • Updating Execution Client
          • Updating Consensus Client
          • Uninstalling Staking Node
          • Backups Checklist: Critical Staking Node Data
      • Guide | How to setup a validator for Gnosis staking on mainnet
        • Overview - Manual Installation
        • PART I - INSTALLATION
        • PART I - INSTALLATION
          • Step 1: Prerequisites
          • Step 2: Configuring Node
          • Step 3: Installing execution client
            • Besu
            • Erigon
            • Geth
            • Nethermind
            • Reth
          • Step 4: Installing consensus client
            • Lighthouse
            • Lodestar
            • Nimbus
            • Prysm
            • Teku
          • Step 5: Installing Validator
            • Installing Validator
              • Lighthouse
              • Lodestar
              • Nimbus
              • Prysm
              • Teku
            • Setting up Validator Keys
            • Next Steps
          • Synchronizing time with Chrony
          • Monitoring with Uptime Check by Google Cloud
          • Mobile App Node Monitoring by beaconcha.in
          • Monitoring your validator with Grafana and Prometheus
          • Security Best Practices for your ETH staking validator node
        • PART II - MAINTENANCE
        • PART II - MAINTENANCE
          • Updating Consensus Client
          • Updating Execution Client
          • Finding the longest attestation slot gap
          • Backups Checklist: Critical Staking Node Data
          • Checking my eth validator's sync committee duties
          • Checklist | Confirming a healthy functional ETH staking node
          • Uninstalling Staking Node
        • PART III - TIPS
        • PART III - TIPS
          • Voluntary Exiting a Validator
          • Verifying Your Mnemonic Phrase
          • Adding a New Validator to an Existing Setup with Existing Seed Words
          • How to re-sync using checkpoint sync
          • Dealing with Storage Issues on the Execution Client
          • Disk Usage by Execution / Consensus Client
          • EIP2333 Key Generator by iancoleman.io
          • Geth - Enabling path-based state storage
          • Important Directory Locations
          • Improving Validator Attestation Effectiveness
          • Reducing Network Bandwidth Usage
          • Running a slasher
          • Setting up dynamic DNS (DDNS)
          • Switching / Migrating Execution Client
          • Switching / Migrating Consensus Client
          • Using All Available LVM Disk Space
          • Using Node as RPC URL endpoint
      • Security Best Practices for your ETH staking validator node
  • Introduction to SSV.Network
  • Awesome Resources
Powered by GitBook
On this page
  • Manual Updates
  • Step 1: Select your consensus client.
  • Lighthouse
  • Lodestar
  • Teku
  • Nimbus
  • Prysm
  • Step 2: Verify services and logs are working properly
  • Step 3: Optional - Verify your validator's attestations on public block explorer
  1. Staking Guide
  2. Lido Community Staking Module(CSM) and Obol DVT Guide
  3. Guide: How to Setup a validator on Chiado Testnet
  4. Maintenance

Updating Consensus Client

Scenario: In discord, you see an alert that your consensus client just announced a new release. How best to update?

PreviousUpdating Execution ClientNextUninstalling Staking Node

Last updated 9 months ago

Manual Updates

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 release notes before updating. There may be changes requiring your attention.

Pro tip: Plan your update to overlap with the longest attestation gap.

Step 1: Select your consensus client.

Lighthouse

Option 1 - Download binaries

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

RELEASE_URL="https://api.github.com/repos/sigp/lighthouse/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
# Download
wget -O lighthouse.tar.gz $BINARIES_URL
# Untar
tar -xzvf lighthouse.tar.gz -C $HOME
# Cleanup
rm lighthouse.tar.gz

Stop the services.

sudo systemctl stop consensus validator

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

sudo rm /usr/local/bin/lighthouse
sudo mv $HOME/lighthouse /usr/local/bin/lighthouse
sudo systemctl start consensus validator
Option 2 - Build from source code

Build the binaries.

cd ~/git/lighthouse
git fetch --all && git checkout stable && git pull
make
  • To compile with maxperf, replace the above make command with

PROFILE=maxperf make

In case of compilation errors, run the following sequence.

rustup update
cargo clean
make

Verify lighthouse was built properly by checking the version number.

lighthouse --version

Stop the services.

sudo systemctl stop consensus validator

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

sudo rm /usr/local/bin/lighthouse
sudo cp $HOME/.cargo/bin/lighthouse /usr/local/bin/lighthouse
sudo systemctl start consensus validator

Lodestar

Option 1 - Download binaries

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

RELEASE_URL="https://api.github.com/repos/ChainSafe/lodestar/releases/latest"
LATEST_TAG="$(curl -s $RELEASE_URL | jq -r ".tag_name")"
BINARIES_URL="https://github.com/ChainSafe/lodestar/releases/download/${LATEST_TAG}/lodestar-${LATEST_TAG}-linux-amd64.tar.gz"
	
echo Downloading URL: $BINARIES_URL

cd $HOME
# Download
wget -O lodestar.tar.gz $BINARIES_URL
# Untar
tar -xzvf lodestar.tar.gz -C $HOME
# Cleanup
rm lodestar.tar.gz

Stop the services.

sudo systemctl stop consensus validator

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

sudo rm -rf /usr/local/bin/lodestar && sudo mkdir -p /usr/local/bin/lodestar
sudo mv $HOME/lodestar /usr/local/bin/lodestar
sudo systemctl start consensus validator
Option 2 - Build from source code

Pull the latest source and build Lodestar.

cd ~/git/lodestar
git checkout stable && git pull
yarn install
yarn run build
yarn clean:nm && yarn install

Verify Lodestar was installed properly by displaying the version.

./lodestar --version

Sample output of a compatible version.

🌟 Lodestar: TypeScript Implementation of the Ethereum Consensus Beacon Chain.
  * Version: v1.8.0/stable/a4b29cf
  * by ChainSafe Systems, 2018-2022

Stop the services.

sudo systemctl stop consensus validator

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

sudo rm -rf /usr/local/bin/lodestar
sudo cp -a $HOME/git/lodestar /usr/local/bin/lodestar
sudo systemctl start consensus validator

Teku

Option 1 - Download binaries

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

RELEASE_URL="https://api.github.com/repos/ConsenSys/teku/releases/latest"
LATEST_TAG="$(curl -s $RELEASE_URL | jq -r ".tag_name")"
BINARIES_URL="https://artifacts.consensys.net/public/teku/raw/names/teku.tar.gz/versions/${LATEST_TAG}/teku-${LATEST_TAG}.tar.gz"
echo Downloading URL: $BINARIES_URL

cd $HOME
# Download
wget -O teku.tar.gz $BINARIES_URL
# Untar
tar -xzvf teku.tar.gz -C $HOME
# Rename folder
mv teku-* teku
# Cleanup
rm teku.tar.gz

Stop the services.

sudo systemctl stop consensus

# If running Standalone Teku Validator
sudo systemctl stop validator

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

sudo rm -rf /usr/local/bin/teku
sudo mv $HOME/teku /usr/local/bin/teku
sudo systemctl start consensus

# If running Standalone Teku Validator
sudo systemctl start validator
Option 2 - Build from source code

Fetch the latest tags and build the binaries.

cd ~/git/teku
# Get new tags
git fetch --tags
RELEASETAG=$(curl -s https://api.github.com/repos/ConsenSys/teku/releases/latest | jq -r .tag_name)
git checkout tags/$RELEASETAG
./gradlew distTar installDist

Verify Teku was built properly by displaying the version.

cd $HOME/git/teku/build/install/teku/bin
./teku --version

Stop the services.

sudo systemctl stop consensus

# If running Standalone Teku Validator
sudo systemctl stop validator

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

sudo rm -rf /usr/local/bin/teku
sudo cp -a $HOME/git/teku/build/install/teku /usr/local/bin/teku
sudo systemctl start consensus

# If running Standalone Teku Validator
sudo systemctl start validator

Nimbus

Option 1 - Download binaries

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

RELEASE_URL="https://api.github.com/repos/status-im/nimbus-eth2/releases/latest"
BINARIES_URL="$(curl -s $RELEASE_URL | jq -r ".assets[] | select(.name) | .browser_download_url" | grep _Linux_amd64.*.tar.gz$)"

echo Downloading URL: $BINARIES_URL

cd $HOME
# Download
wget -O nimbus.tar.gz $BINARIES_URL
# Untar
tar -xzvf nimbus.tar.gz -C $HOME
# Rename folder
mv nimbus-eth2_Linux_amd64_* nimbus
# Cleanup
rm nimbus.tar.gz

Stop the services.

sudo systemctl stop consensus
# If running standalone Nimbus Validator
sudo systemctl stop validator

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

sudo rm /usr/local/bin/nimbus_beacon_node
sudo rm /usr/local/bin/nimbus_validator_client
sudo mv nimbus/build/nimbus_beacon_node /usr/local/bin
sudo mv nimbus/build/nimbus_validator_client /usr/local/bin
rm -r nimbus
sudo systemctl start consensus
# If running standalone Nimbus Validator
sudo systemctl start validator

Reminder: In combined CL+VC Nimbus configuration, there will be no validator systemctl service.

Option 2 - Build from source code

Pull the latest source code and build the binary.

cd ~/git/nimbus-eth2
git checkout stable && git pull
make -j$(nproc) update
make -j$(nproc) nimbus_beacon_node
make -j$(nproc) nimbus_validator_client

Verify Nimbus was built properly by displaying the version.

cd $HOME/git/nimbus-eth2/build
./nimbus_beacon_node --version

Stop the services.

sudo systemctl stop consensus
# If running standalone Nimbus Validator
sudo systemctl stop validator

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

sudo rm /usr/local/bin/nimbus_beacon_node
sudo rm /usr/local/bin/nimbus_validator_client
sudo cp $HOME/git/nimbus-eth2/build/nimbus_beacon_node /usr/local/bin
sudo cp $HOME/git/nimbus-eth2/build/nimbus_validator_client /usr/local/bin
sudo systemctl start consensus
# If running standalone Nimbus Validator
sudo systemctl start validator

Reminder: In combined CL+VC Nimbus configuration, there will be no validator systemctl service.

Prysm

Option 1 - Download binaries

Run the following to automatically download the latest binaries.

cd $HOME
prysm_version=$(curl -f -s https://prysmaticlabs.com/releases/latest)
file_beacon=beacon-chain-${prysm_version}-linux-amd64
file_validator=validator-${prysm_version}-linux-amd64
curl -f -L "https://prysmaticlabs.com/releases/${file_beacon}" -o beacon-chain
curl -f -L "https://prysmaticlabs.com/releases/${file_validator}" -o validator
chmod +x beacon-chain validator

Stop the services.

sudo systemctl stop consensus validator

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

sudo rm /usr/local/bin/beacon-chain
sudo rm /usr/local/bin/validator
sudo mv beacon-chain validator /usr/local/bin
sudo systemctl start consensus validator
Option 2 - Build from source code

Pull the latest source code and build the binaries.

cd $HOME/git/prysm
git fetch --tags
RELEASETAG=$(curl -s https://api.github.com/repos/prysmaticlabs/prysm/releases/latest | jq -r .tag_name)
git checkout tags/$RELEASETAG
go build -o=./build/beacon-chain ./cmd/beacon-chain
go build -o=./build/validator ./cmd/validator

Stop the services.

sudo systemctl stop consensus validator

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

sudo rm /usr/local/bin/beacon-chain
sudo rm /usr/local/bin/validator
sudo cp $HOME/git/prysm/build/beacon-chain /usr/local/bin
sudo cp $HOME/git/prysm/build/validator /usr/local/bin
sudo systemctl start consensus validator

Step 2: Verify services and logs are working properly

# Verify services status
sudo systemctl status consensus validator
# Check logs
sudo journalctl -fu consensus
sudo journalctl -fu validator
# Check services status
sudo systemctl status consensus 
# Check logs
sudo journalctl -fu consensus

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.

Tip: Improve some Lighthouse benchmarks by around 20% at the expense of increased compile time? Use maxperf profile.

In case of build errors or missing dependencies, run the following command.

1) Visit

💡
⚠️
⏩
🔥
Lighthouse
Lodestar
Teku
Nimbus
Prysm
https://holesky.beaconcha.in