Skip to content

Commit 6b9914b

Browse files
pablomendezroyoDiego Mazomateumiralles
authored
Update lido csm docs (#449)
* Update lido csm docs * fix naming * New text in the overview * LidoCSM - already operator update --------- Co-authored-by: Diego Mazo <dmazo@dappnode.io> Co-authored-by: mateumiralles <mateumiralles714@gmail.com>
1 parent ab70a2f commit 6b9914b

14 files changed

+256
-30
lines changed
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# Already a node operator
2+
3+
This document provides detailed instructions for existing Node Operators on integrating their setup with the Lido Community Staking Module (CSM) via Dappnode. By following these steps, you can efficiently manage your validators and ensure proper functionality within the Lido protocol.
4+
5+
## 1. Importing Keystores into the Brain UI
6+
7+
Keystore files contain critical information for managing your validators. When you becamo a Node Operator you lido deposists the necessary amount of ETH to the validator to start staking. These keys files must be imported into the Staking Brain (Brain UI) with the appropriate configuration for the Lido protocol.
8+
9+
### Steps to Import Keystores
10+
11+
1. Ensure your keys are not already uploaded in any node.
12+
13+
2. Access the `/import` tab in Brain UI:
14+
15+
- Mainnet [Staking Brain](http://brain.web3signer.dappnode/import)
16+
17+
- Holesky [Staking Brain](http://brain.web3signer-holesky.dappnode/import)
18+
19+
3. Select the “Lido” Tag:
20+
While uploading your keystore files, make sure to tag them with “Lido” to designate automatically the required fee recipient from the Lido protocol:
21+
22+
- Mainnet: `0x388C818CA8B9251b393131C08a736A67ccB19297`
23+
24+
- Holesky: `0xE73a3602b99f1f913e72F8bdcBC235e206794Ac8`
25+
26+
:::danger
27+
Do not edit the fee recipient address. Doing so will result in penalties.
28+
:::
29+
30+
4. Provide the password
31+
32+
![Import keystores to Staking Brain](/img/lido-csm-brain-import.png)
33+
34+
:::tip
35+
For keys that have not yet been uploaded to the Lido protocol, you can import them to the Staking Brain through the Lido CSM UI while simultaneously submitting them to the Lido protocol via the `/keys/submit` path.
36+
:::
37+
38+
## 2. Opening the Lido CSM UI and Wallet Connection
39+
40+
The Lido CSM UI serves as the central interface for managing validator keys and monitoring validator and infrastucture status. Before proceeding with any validator operations, ensure your wallet is connected.
41+
42+
1. Access the Lido CSM UI:
43+
44+
Navigate to the Lido CSM package UI. - [Mainnet UI](http://ui.lido-csm-mainnet.dappnode/) - [Holesky UI](http://ui.lido-csm-holesky.dappnode/)
45+
46+
2. Connect Your Wallet:
47+
48+
Use the “I am a Node Operator” button and choose your wallet provider.
49+
50+
![Log In as already Node Operator](/img/lido-csm-log-in-already-NO.png)
51+
52+
3. Authorize the Connection:
53+
54+
- Follow the on-screen prompts to grant the necessary permissions.
55+
56+
- Ensure the wallet’s network matches the intended environment (e.g., Mainnet or Holesky).
57+
58+
4. Verify Connection:
59+
60+
Once connected, your wallet address will appear in the top-right corner of the interface.
61+
62+
![Ensure wallet is connected](/img/lido-csm-wallet-connected.png)
63+
64+
## 3. Configuring Telegram Notifications
65+
66+
To receive critical updates and alerts regarding your validator operations, it is essential to configure Telegram notifications.
67+
68+
This provides alerts about validator penalties, slashing incidents, exit requests, key deposits and smart contract events.
69+
70+
Staying informed helps safeguard your assets, reduce risks, and maintain transparency and control over your activities in the protocol, ensuring smooth and efficient participation.
71+
72+
1. Initial Setup:
73+
74+
- When accessing the Lido CSM UI for the first time, a modal will appear prompting you to configure Telegram notifications.
75+
76+
- Click “Navigate” to go to `/notifications`.
77+
78+
![Notifications Modal](/img/lido-csm-notifications-modal.png)
79+
80+
2. Generate a Telegram Bot Token:
81+
82+
- Open Telegram and search for [`@BotFather`](https://web.telegram.org/a/#93372553).
83+
84+
- Start a chat with BotFather and type `/newbot`.
85+
86+
- Follow the instructions to name your bot and choose a username (must end with "bot").
87+
88+
- Once created, BotFather will send you the bot token.
89+
- Example: `123456789:ABCDefghIJKLMNOPQRSTuvwxYZ`.
90+
91+
3. Obtain Your User ID:
92+
93+
- Open [Telegram](https://web.telegram.org/a/) and search for [`@userinfobot`](https://web.telegram.org/a/#52504489) or [`@raw_data_bot`](https://web.telegram.org/a/#1533228735).
94+
95+
- Start a chat with the bot by clicking `Start` button.
96+
97+
- The bot will reply with your Telegram ID
98+
99+
4. Input the Bot Token and User ID:
100+
101+
Enter the bot token and your user ID in the Lido CSM package UI and click `Update Telegram Data`.
102+
![Set up Notifications](/img/lido-csm-setup-notifications.png)
103+
104+
:::caution
105+
To receive the notifications, is mandatory to fill both inputs, otherwise the notification system won't work
106+
:::
107+
108+
5. Verify Notifications:
109+
110+
Ensure that test alert was sent to your Telegram to confirm that notifiactions are properly configured.
111+
![Ensure Notifications are set](/img/lido-csm-ensure-notifications.png)
112+
113+
## 4. Monitoring Infrastructure
114+
115+
The dashboard provides an at-a-glance view of your infrastructure’s health and status, including execution clients, consensus clients, web3 signer, and subscribed relays.
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
# Lido Community Staking Module (CSM)
2+
3+
---
4+
5+
## **Lido CSM Overview**
6+
7+
Lido is a **liquid staking** solution for Ethereum that addresses the liquidity issues of traditional staking. Instead of locking up assets and losing access to them, users can stake through Lido and receive liquid tokens. These tokens retain the value of the staked assets and can be used elsewhere while still earning staking rewards.
8+
9+
Lido, with over [9,8 million ETH](https://lido.fi/ethereum) staked on its platform, is a significant contributor in the Ethereum ecosystem. To broaden and diversify its network of node operators, Lido recently introduced the [**Community Staking Module** (CSM)](https://csm.lido.fi/?ref=dappnode), the first Lido module with a **permissionless entry** for Ethereum staking. By first providing an ETH-based bond, anyone can now become a node operator by running validators in the Lido protocol. Designed with solo stakers in mind, the CSM lowers the barrier to becoming an Ethereum validator with 2.4 ETH, requiring far less than the standard 32 ETH, and offers a user-friendly experience. While tailored for smaller stakers, it is open to all, including professional operators.
10+
11+
:::info
12+
Becoming a Lido Node Operator is recommended for users with some experience in running validators. The process requires a basic understanding of the Ethereum network and the Lido protocol. If you are new to staking, we recommend setting up a validator on the Testnet first to familiarize yourself with the process, see [Staking on the Ethereum Testnet](/docs/user/staking/ethereum/solo/holesky.md).
13+
:::
14+
15+
## **Lido CSM in dappnode**
16+
17+
Dappnode provides an easy-to-use and intuitive interface for most of the infrastructure needed to become a Lido Node Operator. The process is straightforward and requires only a few steps to set up a node operator and start earning rewards.
18+
19+
Steps to become Node Operator
20+
1. Go to Dappnode platform https://my.dappnode/
21+
2. Go to Dappstore tab in the left menu
22+
3. Search and install Lido CSM package
23+
4. Once it is installed, go to packages tab and click on the name of the Lido CSM package and find the section Ui below the version title.
24+
5. You will be in the Lido interface, connect your wallet and start the staking process.
25+
26+
Dappnode takes care of the Lido protocol requirements, such as exiting validator when needed, and provides a user-friendly interface to manage the node operator.
27+
28+
29+
The main functionalities covered by Dappnode in the Lido CSM package are:
30+
31+
- **Telegram Notifications**: you can setup notifications for your Node Operator to be informed about any event. You need to configure the user ID and Telegram token to received your notifications.
32+
- **Ejector**: whenever any of your validator requires to be exited, it will be done automatically sending you the corresponding notification.
33+
- **Track multiple Node Operators**: you can track multiple Node Operators from the same DAppNodePackage-lido-csm.
34+
- **Performance**: your validators attestations performance will be tracked and you will be notified if they are not performing as expected according to the Lido tresholds.
35+
- **MEV boost relays**: you will receive notifications whenever your validators are using relays blocklisted in the Lido CSM or not using any relay at all.
36+
- **Import keystores directly from the Lido CSM**: you can import your keystores directly from the Lido CSM to your DAppNodePackage-lido-csm and they will be automatically tagged as Lido.
37+
- **Infraestructure monitoring**: you will be able to visualize the status of your infraestructure (EC - CC - Signer - MEV Boost).
38+
39+
### **Telegram Notifications**
40+
41+
You will be able to setup your notifications either during the onboarding process if you are registering as a new Node Operator and from the UI navigating to `/notifications`. You must provide:
42+
43+
- Bot token: this is the secret token from a bot that you must create. You can get it from the Telegram BotFather. See the [obtain your bot token](https://core.telegram.org/bots/tutorial#obtain-your-bot-token) section.
44+
- User ID: this is your Telegram user ID. You can get it from the [userinfobot](https://t.me/userinfobot) typing `/start`.
45+
46+
Once your notifications are setup, you will receive notificatios for the following events:
47+
48+
- Lido Smart Contract events:
49+
- [Lido VEVO events](https://docs.lido.fi/staking-modules/csm/guides/events/#contract-vebo): the most important event to remark is the validator exit request event, that will trigger the Ejector to exit the validator.
50+
- [Lido CSM events](https://docs.lido.fi/staking-modules/csm/guides/events/#contract-csm): check the Lido documentation for more details.
51+
- [Lido CSFeeDistributor](https://docs.lido.fi/staking-modules/csm/guides/events/#contract-csfeedistributor): check the Lido documentation for more details.
52+
- Validator exit:
53+
- Successful exit: you will receive a notification when the validator has been successfully exited.
54+
- Failed exit: you will receive a notification when the validator exit has failed, letting you know that a manual exit is required.
55+
- Relays (comming soon):
56+
- Blocklisted relay: you will receive a notification when your validator is using a blocklisted relay.
57+
- No relay: you will receive a notification when your validator is not using any relay.
58+
- Performance (comming soon):
59+
- Attestations performance: you will receive a notification when your validator is not performing as expected according to the Lido tresholds.
60+
61+
### **Ejector**
62+
63+
The Ejector is a service that will automatically exit your validator when needed. You will receive a notification when the validator has been successfully exited and when the exit has failed, letting you know that a manual exit is required. The ejector has the following characteristics:
64+
65+
- **Automatic exit**: the Ejector will automatically exit your validator when needed.
66+
- **Ejector Notifications**: you will receive a notification when the validator has been successfully exited and when the exit has failed, letting you know that a manual exit is required.
67+
- **Retry mechanism**: the Ejector will retry the exit process if it fails, ensuring that the validator is exited successfully.
68+
69+
![lido-notification-ejector](/img/lido-notification-ejector.png)
70+
71+
### **Track multiple Node Operators**
72+
73+
The DAppNodePackage-lido-csm allows you to track multiple Node Operators from the same package. This feature is useful if you are managing multiple Node Operators and want to keep track of their performance and status in one place. To make the package to track a new Node Operator, you must sign in with the new Node Operator's wallet and import the keystores.
74+
75+
:::warning
76+
Make sure to import the correct keystores for each Node Operator. Importing the wrong keystores can result in penalties.
77+
:::
78+
79+
### **Import keystores directly from the Lido CSM**
80+
81+
You can import your keystores directly from the DAppNodePackage-lido-csm UI during the onboarding process or from the `/keystores` section (comming soon). The keystores will be automatically tagged as Lido, and you will be able to use them to run validators in the Lido protocol. These keystores will be located in the web3signer package, for further editing or deleting them you must go to the web3signer UI.
82+
83+
Whenever there are 1 or more keystores that belongs to your Node Operator and are not imported you will be able to see the following message in the DAppNodePackage-lido-csm UI:
84+
85+
![lido-keystore-not-imported](/img/lido-keystore-not-imported.png)
86+
87+
### **Infraestructure monitoring**
88+
89+
You will be able to visualize the status of your infraestructure (EC - CC - Signer - MEV Boost) from the DAppNodePackage-lido-csm UI. This feature is useful to monitor the status of your infraestructure and ensure that everything is running smoothly.
90+
91+
![lido-infra](/img/lido-infra.png)
92+
93+
### **Performance**
94+
95+
🚀 Cooming soon
96+
97+
### **MEV boost relays**
98+
99+
🚀 Cooming soon
100+
101+
## Testnet
102+
103+
The Lido Community Staking Module is available on the Ethereum Mainnet. If you are new to staking, we recommend setting up a validator on the Testnet first to familiarize yourself with the process. The process is the same, the dappnode package for Lido CSM in testnet is **lido-csm-holesky.dnp.dappnode.eth**.
104+
105+
---
106+
107+
Refer to the Lido Community Staking Module documentation for more details:
108+
109+
- [Lido Community Staking Overview](https://blog.lido.fi/lido-community-staking-an-overview/)
110+
- [Lido Community Staking Module](https://operatorportal.lido.fi/modules/community-staking-module)
Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,12 @@
1-
# Lido Community Staking Module (CSM)
2-
3-
---
4-
5-
### **Lido CSM Overview**
6-
7-
Lido is a **liquid staking** solution for Ethereum that addresses the liquidity issues of traditional staking. Instead of locking up assets and losing access to them, users can stake through Lido and receive liquid tokens. These tokens retain the value of the staked assets and can be used elsewhere while still earning staking rewards.
8-
9-
Lido, with over [9 million ETH](https://lido.fi/ethereum) staked on its platform, is a significant contributor in the Ethereum ecosystem. To broaden and diversify its network of node operators, Lido recently introduced the [**Community Staking Module** (CSM)](https://csm.lido.fi/?ref=dappnode), the first Lido module with a **permissionless entry** for Ethereum staking. By first providing an ETH-based bond, anyone can now become a node operator by running validators in the Lido protocol. Designed with solo and community stakers in mind, the CSM lowers the barrier to becoming an Ethereum validator, requiring far less than the standard 32 ETH, and offers a user-friendly experience. While tailored for smaller stakers, it is open to all, including professional operators.
10-
11-
:::info
12-
Becoming a Lido Node Operator is recommended for users with some experience in running validators. The process requires a basic understanding of the Ethereum network and the Lido protocol. If you are new to staking, we recommend setting up a validator on the Testnet first to familiarize yourself with the process, see [Staking on the Ethereum Testnet](/docs/user/staking/ethereum/solo/holesky.md).
13-
:::
14-
15-
---
16-
17-
### **Become a Lido Node Operator with Dappnode**
1+
# **Become a Lido Node Operator with Dappnode**
182

193
**Dappnode** provides an easy-to-use and intuitive interface for most of the infrastructure needed to become a Lido Node Operator. The process is straightforward and requires only a few steps to set up a node operator and start earning rewards. An overview of the process is how the Lido CSM UI will greet you when first connecting your wallet to the dApp:
204

215
![Lido-CSM1](/img/lido-csm-ss-docs1.png)
226

237
---
248

25-
### **First Steps to create a Node Operator in Dappnode**
9+
## **First Steps to create a Node Operator in Dappnode**
2610

2711
1. **Getting your Dappnode ready**:
2812

@@ -35,15 +19,15 @@ Becoming a Lido Node Operator is recommended for users with some experience in r
3519
It is mandatory to choose at least one relay to ensure the node operator does not propose vanilla blocks. When uploading the keystores with the "Lido" tag, this requirement will be automatically checked. As a Lido Node Operator, it is your responsibility to ensure that your infrastructure is properly using MEV Boost.
3620
:::
3721

38-
2 **Create the Keystores & Deposit Data**: In order to run a validator, you need to generate the necessary keystores and deposit data. The keystores **must** be created with the withdrawal credential of Lido:
22+
2. **Create the Keystores & Deposit Data**: In order to run a validator, you need to generate the necessary keystores and deposit data. The keystores **must** be created with the withdrawal credential of Lido:
3923

4024
- Holesky: `0xF0179dEC45a37423EAD4FaD5fCb136197872EAd9`.
4125
- Ethereum: `0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f`.
4226
- We recommend using official tools like [Staking-Deposit-CLI](https://github.com/ethereum/staking-deposit-cli) or the [Wagyu Key Gen Tool](https://wagyu.gg/) to create the keystores. This step is crucial and mandatory.
4327

4428
The validator Keystores will be used to run the validators on the Ethereum network, while the deposit data will be used to register the validators in the Lido protocol.
4529

46-
![Lido-CSM2](/img/lido-csm-ss-docs2.png)
30+
![Lido-CSM2](/img/lido-csm-ss-docs2.png)
4731

4832
:::warning
4933
Make sure you correcly set the withdrawal address up, otherwise the Lido CSM won't let you move forward with the validator deposits.
@@ -55,26 +39,27 @@ Becoming a Lido Node Operator is recommended for users with some experience in r
5539
- Upload the keystores and tag them with "Lido".
5640
- The fee recipient will be automatically set to `0xE73a3602b99f1f913e72F8bdcBC235e206794Ac8` for Holesky and `0x388C818CA8B9251b393131C08a736A67ccB19297` for Mainnet. It is not editable.
5741

58-
![Lido-CSM3](/img/lido-csm-ss-docs3.png)
42+
![Lido-CSM3](/img/lido-csm-ss-docs3.png)
5943

6044
:::caution
6145
Double-check that your Lido keystores are tagged correctly. This is crucial to ensure that the node operator is properly set up, and has the correct fee recipient set.
6246
:::
63-
47+
6448
:::danger
6549
Do not edit the fee recipient address. Doing so will result in penalties.
6650
:::
6751

6852
4. **Register as a Lido Node Operator & your validators**:
6953

7054
- Navigate to the [Lido Deposit UI](https://csm.lido.fi/?ref=dappnode) and complete the deposit process by submitting the `deposit_data.json` file you generated with your keystore(s).
71-
![Lido-CSM4](/img/lido-csm-ss-docs4.png)
55+
![Lido-CSM4](/img/lido-csm-ss-docs4.png)
7256
- You'll be prompted to sign an ETH bond depending on the number of validators you're submitting to the CSM.
7357
- Once the deposit has been confirmed, the CSM and then the Beacon Chain will process your deposit. Keep in mind you'll have to wait 16-24 hours plus the Becaon Chain's entry queue for your validators to activate. Your node operator setup is now complete!
7458

75-
---
59+
5. **Setup notifications**
7660

77-
Refer to the Lido Community Staking Module documentation for more details:
61+
- Get your bot token and user ID from the [Telegram BotFather](https://core.telegram.org/bots/tutorial#obtain-your-bot-token) and [userinfobot](https://t.me/userinfobot) respectively.
62+
- Introduce your bot token and user ID and confirm
63+
- You should receive a confirmation message from the bot.
7864

79-
- [Lido Community Staking Overview](https://blog.lido.fi/lido-community-staking-an-overview/)
80-
- [Lido Community Staking Module](https://operatorportal.lido.fi/modules/community-staking-module)
65+
![lido-notifications-onboarding](/img/lido-notifications-onboarding.png)

0 commit comments

Comments
 (0)