Update Prysm client

One-page interactive complete guide to update Prysm client.

Disclaimer

This guide is for informational purposes only. The author nor website owner does not guarantee accuracy of the information in this guide and is not responsible for any damages or losses incurred by following the guide.

Prysm client can be used for staking on various supported chains. Client installation is always only one, used by services with an individual configuration (different service name, data path and ports in use).

Check current version of Prysm running on the server:

cd /usr/local/bin
Beacon chain:
./beacon-chain --version
Validator:
./validator --version
  1. Find the latest stable version of Prysm on Github

  2. Download Prysm clients to your node

    cd ~/downloads && curl -LO https://github.com/prysmaticlabs/prysm/releases/download/v5.2.0/beacon-chain-v5.2.0-modern-linux-amd64
    cd ~/downloads && curl -LO https://github.com/prysmaticlabs/prysm/releases/download/v5.2.0/validator-v5.2.0-linux-amd64
  3. Rename downloaded files

    mv beacon-chain-v5.2.0-modern-linux-amd64 beacon-chain && mv validator-v5.2.0-linux-amd64 validator
  4. Set files permissions

    chmod +x beacon-chain && chmod +x validator
  5. Stop running clients

    You can time this based on validator duties either from validator instances log(s) or for Ethereum also from sources such as WenMerge.com or ETHStakers.

    // Stop all validator instances using Prysm clients on all chains
    // sudo systemctl stop prysmvalidator1
    // sudo systemctl stop prysmvalidator2
    // sudo systemctl stop prysmRocketpoolValidator
    // sudo systemctl stop prysmStakewiseValidator
    // ...
    // Stop beaconchain clients using PrysmBeacon client on all chains
    sudo systemctl stop prysmbeacon
    /usr/local/bin/staking.sh stop consensus

    Check the services

    /usr/local/bin/staking.sh check
  6. Copy clients to /usr/local/bin

    sudo cp ~/downloads/beacon-chain /usr/local/bin
    sudo cp ~/downloads/validator /usr/local/bin
  7. Start services using Prysm clients

    // Start all validator instances using Prysm clients on all chains
    // sudo systemctl start prysmvalidator1
    // sudo systemctl start prysmvalidator2
    // sudo systemctl start prysmRocketpoolValidator
    // sudo systemctl start prysmStakewiseValidator
    // ...
    // Start beaconchain clients using PrysmBeacon client on all chains
    sudo systemctl start prysmbeacon
    /usr/local/bin/staking.sh start consensus

    Check the services status

    /usr/local/bin/staking.sh check
  8. Monitor

    journalctl -fu prysmbeacon.service
    journalctl -f -u prysmvalidator.service -u prysmvalidator2.service
    ...
    /usr/local/bin/staking.sh check consensus
    /usr/local/bin/staking.sh monitor consensus
  9. Remove downloaded files

    cd ~/downloads && rm beacon-chain && rm validator