CSM with ETH Docker

VM/Hardware Setup

You will need to prepare your virtual machine (VM) or home staking hardware for all options below. Step-by-step guide below.

Google CloudAssemble your hardware

Lido CSM testnet workflow

Video guide

Prepare your VM/Hardware

Create a new Google Cloud account to unlock $300 of free cloud credits.

Create a VM on the Google Cloud Console (or any other cloud provider) with the following machine specifications.

  • CPU: 2 vCPU

  • RAM: 8GB

  • Boot Disk: Ubuntu 24.04 LTS, Balanced persistent disk, 250GB SSD,

  • Identity & API access: No service account

  • Firewall: Enable HTTP & HTTPS traffic

Estimated cost per month on Google Cloud = $84, or 3.5 months of free practice time with $300 of cloud credits

SSH into your machine

SSH into your VM/hardware: Click on the dropdown beside the "SSH" column and select "Open in browser window". Click on "Authorize" when prompted.

Install Docker

Download & configure ETH Docker

Go to the ETH Docker repository and to get and run the installation commands. Run the next 2 commands in sequence.

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

After logging in again, install ETH Docker.

After the installation is complete, run:

You will now be able to call ethd from anywhere in your terminal. Next, configure the ETH Docker service.

Follow along the prompts in the terminal UI (TUI) to:

  1. Choose Hoodi Testnet >> Lido-compatible node (Community Staking / Simple DVT) >> [Community Staking] CSM node

  2. Select the Nimbus (Consensus) and Nethermind (Execution) for the client choices

  3. Use the default Checkpoint Sync URL, select yes for MEV Boost, select all relays, yes for Grafana dashboards, default Graffiti, yes for generate validator keys

  4. Generate suitable validator keys to participate in the Lido CSM

    • Generate 1 validator key and set the encryption password for the key

    • Save your 24-word mnemonic

    • Verify the fee recipient and withdrawal address on the CSM Operator Portal

ETH Docker TUI Navigation

  1. Arrow keys & Tab key: Cycle options

  2. Space bar: Select option

  3. Enter: Confirm option

  4. CTRL+C: Exit individual screen monitoring view

Start ETH Docker

Import validator keys

You will need to wait around 5 minutes from starting the ETH Docker stack before importing keys without errors.

Change the user permissions of the folder containing your validator keys. Replace <user> with your actual username of your VM.

Tip: To find username, look to the terminal of your sever/node. Every character before the @ is your username

Next, import the generated validator keys onto your validator client

Upload deposit data

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

Example:

Upload/Remove/View validator keys

View logs

Monitor the logs of your validator node to make sure that it is syncing (or synced) with no errors while you wait for Lido to provision your validator deposit with 32 ETH.

View logs of each docker container.

Flags:

  • -f: Follow along the logs in real time. CTRL+C to exit monitoring view

  • --tail: Print the last N lines of the logs.

Choose one to replace the <container_name> above.

Grafana Dashboards:

Bring down all ETH Docker containers.

Edit the .env file of ETH Docker.

Scroll down to the GRAFANA_PORT=3000 line and change the number to 443.

CTRL+O, ENTER, CTRL+X to save and exit.

Bring ETH Docker back up.

To access your Grafana dashboard, navigate to PUBLIC_IP:443 on your web browser.

Useful commands

Run ethd help to print all available command line options. Common options:

  • Update all clients & ETH Docker stack: ethd update

  • Stop ETH Docker: ethd down

  • Restart ETH Docker: ethd restart

  • Restart from scratch: ethd terminate

Mainnet workflow

ETH Docker has an inbuilt TUI workflow for Mainnet setups. Simply follow along but verify the withdrawal and fee recipient addresses.

Support

Last updated