Updating the software.
This project does not monitor client versions. It is up to you to decide that you are going to update a component. When you are ready to do so, the below instructions show you how to.
You can find the current version of your client by running ./ethd version
, assuming the
node is up and running
Automated update
Inside the project directory, run:
./ethd update
This will update Eth Docker, all Ethereum clients, and migrate your .env
settings over to a fresh copy
from default.env
.
If you want to reset your client version targets, run ./ethd update --refresh-targets
instead.
Restart changed containers with ./ethd up
.
Optional: Manually update Eth Docker
Inside the project directory, run:
git pull
Then cp .env .env.bak
and cp default.env .env
, and set variables inside .env
the way you need them, with .env.bak
as a guide.
Updating the tool itself is not always necessary. Please refer to the Changelog to see whether changes have been made that you may want to use.
Optional: Manually update the client "stack"
If you are using binary build files - the default - you can update everything
in the client "stack" with ./ethd cmd build --pull
. If you
run shared components in a different directory, such as the execution client,
you'd cd
into those directories and run the command there.
And restart changed containers: ./ethd up
Then verify that the components are coming up okay again by looking at logs:
./ethd logs -f consensus
for the consensus client./ethd logs -f validator
for the validator, if using Lighthouse or Prysm./ethd logs -f execution
for the execution client, if you are running one locally
Optional: Update just the execution client, instead of the entire "stack"
Run:
./ethd cmd build --pull execution
Then stop, remove and start the execution client:
./ethd cmd stop execution && ./ethd cmd rm execution
./ethd up