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.
Practicing on Cloud VMsAssemble your hardwareLido 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, 350GB 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
Download & configure ETH Docker
SSH into your VM/hardware: Click on the dropdown beside the "SSH" column and select "Open in browser window". Click on "Authorize" when prompted.
Go to Lido's 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.
Once you are back in, you will 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:
Choose
Holešovice Testnet
>>Lido-compatible node (Community Staking / Simple DVT)
>>[Community Staking] CSM node
Select the Nimbus (Consensus) and Nethermind (Execution) for the client choices
Use the
provided URL
for Checkpoint Sync, selectyes
for MEV Boost,select all
relays,yes
for Grafana dashboards,default
Graffiti,yes
for generate validator keysGenerate suitable validator keys to participate in the Lido CSM
Generate
1
validator key and set the encryption password for the keySave your 24-word mnemonic
Verify the fee recipient and withdrawal address on the CSM Operator Portal
ETH Docker TUI Navigation
Arrow keys & Tab key
: Cycle optionsSpace bar
: Select optionEnter
: Confirm optionCTRL+C
: Exit individual screen monitoring view
Start ETH Docker
Import validator keys
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 CSM Widget.
Example:
[{"pubkey": "b72e61268081e28b583d78876cc1687d72be4c3592de1f9d585c96b4c64b25b49174f04ae6e55eb1e59247cb575c0157", "withdrawal_credentials": "010000000000000000000000f0179dec45a37423ead4fad5fcb136197872ead9", "amount": 32000000000, "signature": "8bb6e8838d15ea0ea23ed5151436ea07b65a0530ccfa9f5154b1fa394827df5add81510cf3463b79a387b0dffbe43ae417ea53b844b43d6a249fbc153fa1deda9fc089f218a845e382aa7455d804650e0e03232d3dad36b180bbdacd908f286c", "deposit_message_root": "8dbda15641eb7be3573f7377d10634c93c2b1dceb9fb6e519ec54ae0286d04c7", "deposit_data_root": "43f215ce19df49591db322bd4966667afc2a226a0a9812e5d60e31c60223991c", "fork_version": "01017000", "network_name": "holesky", "deposit_cli_version": "2.7.0"}]
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.
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
Support
Last updated