Skip to main content

Eth Docker

Full Node Setup

Video Guide

warning

For Testnet setups, replace all Holesky options with Hoodi.

Download & configure ETH Docker

Go to the ETH Docker repository and to get and run the installation commands.

cd ~ && git clone https://github.com/eth-educators/eth-docker.git && cd eth-docker
sudo usermod -aG sudo $USER

Exit your virtual machine/hardware and re-login to add your host user into the docker user group.

exit

After logging in again, install ETH Docker.

cd eth-docker
./ethd install
source ~/.profile

You can now run ethd from anywhere. Configure the service:

ethd config
ETH Docker Terminal-UI Navigation
  1. Arrow & Tab: cycle options
  2. Space bar: select option
  3. Enter: confirm option
  4. Ctrl+C: exit view

Follow the prompts to:

  1. Choose Mainnet or HoodiLido-compatible node (Community Staking / Simple DVT)[Community Staking] CSM node
  2. Select your consensus and execution clients
  3. Use default Checkpoint Sync URL, yes for MEV Boost, select all relays, yes for Grafana dashboards, and set optional graffiti
  4. [For Testnet only] yes to generate validator keys: set quantity, password, save mnemonic, verify fee recipient on CSM Operator Portal
  5. [For Mainnet] no to generate keys here (use secure workflow in Key Generation for Mainnet guide)

Address Tabs

Start ETH Docker

ethd start

Import validator keys

Move your validator keys into the /eth-docker/.eth/validator_keys folder of your validator node. Testnet users that generated your validator keys using Eth Docker directly can skip this step.

Then change the user permissions of the folder and import the validator keys into your validator client.

sudo cp <path-to-keystore> ~/eth-docker/.eth/validator_keys
sudo chown -R $USER:$USER ~/eth-docker/.eth/validator_keys
ethd keys import

Upload deposit data

Copy the deposit data generated by the command below for uploading onto the Lido CSM Widget.

cat ~/eth-docker/.eth/validator_keys/deposit*json

View Logs

ethd logs <container_name> -f --tail 20

Containers:

blackbox-exporter  consensus                  execution                  json-exporter
node-exporter promtail cadvisor ethereum-metrics-exporter
grafana loki prometheus validator

Useful commands

ethd help       # list commands
ethd update # update all clients & stack
ethd down # stop ETH Docker
ethd restart # restart services
ethd terminate # delete and reinstall

Keep your clients up to date

To keep your clients and other packages up to date for network upgrades, security releases or minor improvements please follow this guide.