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.
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.
sudoaptupdatesudoaptdist-upgrade-y
1. Stop your execution client process.
# This can take a few minutes.sudosystemctlstopeth1
2. Update the execution client package or 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)"echoDownloadingURL: $BINARIES_URLcd $HOMEwget-Ogeth.tar.gz $BINARIES_URLtar-xzvfgeth.tar.gz-C $HOMErmgeth.tar.gzsudomv $HOME/geth-*geth# Stop the services.sudosystemctlstopeth1# Remove old binaries, install new binaries and restart the services.sudorm-rf/usr/bin/gethsudomv $HOME/geth/geth/usr/bin/gethsudosystemctlstarteth1rm-r $HOME/geth
Option 2: Update with apt update command from Personal Package Archive (PPA)
As of Feb 17, 2023, Besu requires minimum Java 17 and up to build and run.
Run the following to update to Java 17.
#Install Java 17sudoaptinstallopenjdk-17-jre#Verify Java 17 is installedjava-version
Run the following to automatically download the latest linux release, un-tar and cleanup.
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"echoDownloadingURL: $BINARIES_URLcd $HOME# backup previous besu version in case of rollbackmvbesubesu_backup_$(date+"%Y%d%m-%H%M%S")# download latest besuwget-Obesu.tar.gz"$BINARIES_URL"# untartar-xvfbesu.tar.gz# cleanuprmbesu.tar.gz# rename besu to standard folder locationmvbesu-*besu
Automatically download the latest linux release, un-zip and cleanup.
cd $HOME# backup previous nethermind version in case of rollbackmvnethermindnethermind_backup_$(date+"%Y%d%m-%H%M%S")# store new version in nethermind directorymkdirnethermind&&cdnethermind# download latest versioncurl -s https://api.github.com/repos/NethermindEth/nethermind/releases/latest | jq -r ".assets[] | select(.name) | .browser_download_url" | grep linux-x64 | xargs wget -q --show-progress
# unzipunzip-onethermind*.zip# cleanuprmnethermind*linux*.zip