Detailed Guide: Lido CSM with Google Cloud Credits
1. Prerequisites
Install WireGuard, a VPN client required to connect to the visual interface of Dappnode. You can install it for your operating system from here: https://www.wireguard.com/install/
Setting up a Google Cloud account
Go to https://cloud.google.com/free and activate the free trial. It will ask for your credit card details, but you won’t be charged.
Open the Google Cloud Console.

Create a VM (Virtual Machine)

Select the following configuration under the “Machine configuration” section:
Name: use any name, e.g., Lido-Workshop
Region: choose your preferred region for this test. Note: For Mainnet use, it’s best to diversify geographically and avoid popular regions like Europe or the US.
Zone: any.
Machine family: E2
Machine type: e2-standard-8, 16 GB memory

In the “OS and Storage” section, click Change.

Select the following options:
Operating system: Debian
Version: Debian GNU/Linux 12 (bookworm)
Boot disk type: Balanced persistent disk
Size: 300 GB

In the “Networking” section, check the boxes for HTTP and HTTPS traffic.

In the “Observability” section, uncheck both options.

When you’re done, click Create at the bottom of the screen. You should see something like this:

Now we need to open the WireGuard port in the console so we can access it later. Go to https://console.cloud.google.com/net-security/firewall-manager/firewall-policies/ and click Create firewall rule.

Configure the firewall as follows:
Name: Wireguard
Targets: All instances in the network
Source filter and range: IPv4 with range 0.0.0.0/0
Protocols and ports: Specific protocols and ports → UDP 51820
3. Installing Dappnode
Open the dropdown menu under the Connect tab. For convenience, select “Open in another browser window.” Click Authorize when prompted.

Now that we’re in the command-line interface, we’ll install Dappnode using scripts. You can read more in the official Dappnode documentation: https://docs.dappnode.io/.
Copy and paste the following commands:
Update all system packages:
Install prerequisite services:
Install Dappnode:
Restart the machine:
When the machine restarts, the connection will be lost. Reopen the terminal in another tab as in step 1. You should see something like this:

4. Accessing Dappnode
Use the command
dappnode_connectto see all the ways to access the Dappnode interface. In this case, we’ll use WireGuard credentials.

Example:
Abre WireGuard y en la esquina inferior izquierda haz click en “Añadir Tunnel vacío”.

Go back to the terminal and copy the credentials. Example:
Paste the credentials and give the tunnel any name. Click Save to store the tunnel.

Once saved, activate the tunnel using the button shown below.

Finally, go to http://my.dappnode/. Set your username and password, and save the security token. After this, follow the Dappnode interface instructions and configure:
Repository Source: Remote (for testnet; if setting up mainnet, you can use your own clients as the repository source, which is recommended for a final setup).
System Auto Updates: Off (automatic updates can cause performance issues if something goes wrong — it’s better to do them manually when you can monitor your node).
Enable System Notifications: For this workshop, leave it blank. Here you can set up a Telegram bot or email notifications to monitor your machine status.
5. Setting up your node in Dappnode
Go to the Stakers tab at http://my.dappnode/stakers/. Select the network (Hoodi in this case), execution and consensus clients, enable Web3Signer, and enable MEV-Boost relays from the list of relays vetted by Lido for Hoodi. Scroll down, click Apply changes, and wait for the clients to install.

In the Dashboard, you’ll see the status of your clients. When both appear in green, they’re synchronized and it’s safe to move to the next step.

6. Generating keys for Lido CSM (testnet)
Go to https://wagyu.gg/ and install the tool. Generate a recovery seed phrase and select the network. Write down and confirm the phrase. Choose how many validators you want to generate. Encrypt the keystores with a secure password.
IMPORTANT: Set the withdrawal address to Lido’s withdrawal vault: Hoodi:
0x4473dCDDbf77679A643BdB654dbd86D67F8d32f2Confirm the password. Select the destination folder to store the keystores and deposit data. You’ll receive:
keystore-m_<timestamp>.json: the keystore to upload to your nodedeposit_data-<timestamp>.json: the deposit data
7. Importing the keys into your node and the Lido protocol
7.1. Importing keys into Dappnode
Go to the web3signer package in your Dappnode.
Click Import, then drag the keystores you generated in the previous step, enter your password, and select Lido as the staking protocol. This will automatically set the fee recipient to Lido’s address.

7.2. Importing keys into Lido CSM
Go to the Lido CSM page for Hoodi (https://csm.testnet.fi/) and connect your wallet.
Click Create a Node Operator.
Inside the widget, upload your
deposit_datafile, ensure you have enough testnet ETH, and deposit it into the protocol.

Last updated