Last Updated: May 18, 2022
Table of Contents
This is the Appendix of a step-by-step guide to setup the ChainSafe Lodestar consensus client on the Ethereum Beacon Chain.
This guide is separated into a series of parts, grouped by related steps to setup a full Lodestar consensus beacon node and validator client from start to finish. The topics are separated as follows:
Thank you for reading this guide. Remember that although Lodestar is mainnet-ready, consensus clients are all experimental software and this guide will be updated to include changes to any processes or software configurations.
Please sign up to our Lodestar Mailing List for user and developer updates, announcements and any critical information about our software.
Here are some useful next steps:
htop
to monitor resources on the local machine.There are cases where Ubuntu is provisioning only 200GB of a larger SSD causing users to run out of disk space when syncing their Eth1 node. The error message is similar to:
Fatal: Failed to register the Ethereum service: write /var/lib/goethereum/geth/chaindata/383234.ldb: no space left on device
To address this issue, assuming you have a SSD that is larger than 200GB, expand the space allocation for the LVM by following these steps:
sudo lvdisplay <-- Check your logical volume size
sudo lvm
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
lvextend -l +100%FREE -r /dev/ubuntu-vg/ubuntu-lv
exit
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
df -h <-- Check results
That should resize your disk to the maximum available space.
If you need support, please check with the ChainSafe Discord under the #
Stop the validator, your beacon node and your execution node containers.
NOTE: Replace the following geth_docker
command with nethermind_docker
or besu_docker
accordingly to your execution node setup.
cd ~/lodestar
sudo docker-compose stop geth_docker lodestar_beacon_node_1 lodestar_validator_1
sudo docker-compose rm geth_docker lodestar_beacon_node_1 lodestar_validator_1
Locate and delete the older Nethermind/Besu/Geth image. Take note of the ImageId
and substitute the specific image ID to delete the old image:
sudo docker images
sudo docker rmi <ImageId>
Restart the nethermind_docker
| besu_docker
| geth_docker
container with the following command and it will automatically pull the latest specified image version:
If you are running the Nethermind execution node:
sudo docker-compose.yml up -d nethermind_docker beacon_node
sudo docker logs nethermind_docker <-- Check container logs to ensure proper startup
sudo docker logs lodestar_beacon_node_1 <-- Check container logs to ensure proper startup
If you are running the Besu execution node:
sudo docker-compose.yml up -d besu_docker beacon_node
sudo docker logs besu_docker <-- Check container logs to ensure proper startup
sudo docker logs lodestar_beacon_node_1 <-- Check container logs to ensure proper startup
If you are running the Go-Ethereum (Geth) execution node:
sudo docker-compose.yml up -d geth_docker beacon_node
sudo docker logs geth_docker <-- Check container logs to ensure proper startup
sudo docker logs lodestar_beacon_node_1 <-- Check container logs to ensure proper startup
Within the logs for nethermind_docker
| besu_docker
| geth_docker
, you should see confirmation of the newer version in the logs.
Now, restart the validator service:
sudo docker-compose -f docker-compose.validator.yml up -d
sudo docker logs lodestar_validator_1
Check all the containers to ensure it is working properly:
sudo docker ps
There should be no constant restarts on the any of the docker containers.
Stop the validator and beacon node containers.
cd ~/lodestar
sudo docker-compose stop lodestar_validator_1 lodestar_beacon_node 1
sudo docker-compose rm lodestar_validator_1 lodestar_beacon_node 1
Locate and delete the older chainsafe/lodestar
image. Take note of the ImageId
and substitute the specific image ID to delete the old image:
sudo docker images
sudo docker rmi <ImageId>
Restart the beacon node container with the following command to it will automatically pull the latest specified image version:
sudo docker-compose up -d beacon_node
Check the beacon node container to ensure it is working properly:
sudo docker logs lodestar_beacon_node_1
Within the logs for lodestar_beacon_node_1
, you should see confirmation of the newer version such as:
info: Lodestar version=v0.36.0
Now, start the validator container:
sudo docker-compose -f docker-compose.validator.yml up -d
Check the validator container to ensure it is working properly:
sudo docker logs lodestar_validator_1
Check all the containers to ensure it is working properly:
sudo docker ps
There should be no constant restarts on the any of the docker containers.
Coming Soon!
Coming Soon!
This article (the guide) is for informational purposes only and does not constitute professional advice. The author does not warrant or guarantee the accuracy, integrity, quality, completeness, currency, or validity of any information in this article. All information herein is provided βas isβ without warranty of any kind and is subject to change at any time without notice. The author disclaims all express, implied, and statutory warranties of any kind, including warranties as to accuracy, timeliness, completeness, or fitness of the information in this article for any particular purpose. The author is not responsible for any direct, indirect, incidental, consequential or any other damages arising out of or in connection with the use of this article or in reliance on the information available on this article. This includes any personal injury, business interruption, loss of use, lost data, lost profits, or any other pecuniary loss, whether in an action of contract, negligence, or other misuse, even if the author has been informed of the possibility.