# Montando un validador CSM en Dappnode 

By [Tute](https://paragraph.com/@mateoemilio) · 2024-10-16

---

Contenido
---------

*   Pre-requisitos
    
*   Parte 1: Interacción con Ethereum Staking Deposit CLI
    
*   Parte 2: Interacción con Dappnode
    
    *   Pre-requisitos: MEV Boost Holesky
        
    *   Cargamos el keystore
        
*   Parte 3: Registro del node operator
    
    *   Pre-requisito: wallet con mas de 2 ETH
        
*   Recursos
    

Pre-requisitos
--------------

Tener instalado **_Dappnode_** con los clientes sincronizados y **_web3signer,_** en sus versiones para la red de testnet **_Holesky._**

Si es la primera vez que escuchas de **_Dappnode_** te recomiendo leer:

[https://mirror.xyz/seedlatam.eth/VpuKM5vy2uWpK-H-MVGcbZaCIlRVoC3iTsASDDXIhTY](https://mirror.xyz/seedlatam.eth/VpuKM5vy2uWpK-H-MVGcbZaCIlRVoC3iTsASDDXIhTY)

Y tambien ver la instalación via script de **_Dappnode_**:

[https://docs.dappnode.io/docs/user/install/script](https://docs.dappnode.io/docs/user/install/script)

Además vamos a necesitar tener una wallet fondeada con más 2 ETH en Holesky que podemos obtener mediante un faucet, por ejemplo:

[https://holesky-faucet.pk910.de/](https://holesky-faucet.pk910.de/)

Parte 1: Interacción con Ethereum Staking Deposit CLI
-----------------------------------------------------

Como se ha visto en [tutoriales anteriores](https://mirror.xyz/seedlatam.eth/NE-iXSkA4_PCZpBWW_r4EhmTxXjilCytX3IxQEKi4KQ), se debe utilizar el **Ethereum Staking Deposit CLI**. Esta herramienta de línea de comandos que proporciona la **Ethereum Foundation** nos ayuda a generar las claves y los datos de depósito necesarios para convertirnos en validadores.

### Principales Características del Ethereum Staking Deposit CLI:

1.  **Generación de Claves**: La herramienta genera las **claves de validador** y las **claves de retiro** necesarias para el staking. La clave del validador se usa para firmar las validaciones y bloques, mientras que la clave de retiro se utiliza para retirar el ETH en el futuro.
    
2.  **Generación de Datos de Depósito**: Crea el archivo de **datos de depósito** que es necesario para depositar ETH en el contrato de staking de Ethereum.
    
3.  **Seguridad**: Te permite generar las claves de forma segura, manteniéndolas fuera de línea durante el proceso de generación. Esto reduce el riesgo de posibles ataques o fugas de claves que podrían comprometer la seguridad de tu validador. **_\*_**
    

**_\*_** Es importante tener en cuenta que, en este tutorial, el procedimiento se realiza _ONLINE_ para la generación de claves. Aunque es posible realizarlo _OFFLINE_, como se menciona, ese no es el enfoque de esta guía.

Si te interesa la creación de claves OFFLINE te recomendamos ver [este video](https://youtu.be/ou_42QD_F4E?si=qsHOH-VigkkiTEZ0)

Para poder encontrar esta herramienta primero debemos dirigirnos hacia el **_GitHub_** oficial de Ethereum: [https://github.com/ethereum](https://github.com/ethereum) luego, ir a **_repositories_** ([https://github.com/orgs/ethereum/repositories](https://github.com/orgs/ethereum/repositories)) y buscar “**_staking-deposit-cli_**”, esta es una forma segura de poder acceder al repositorio de la herramienta.

![https://github.com/orgs/ethereum/repositories](https://storage.googleapis.com/papyrus_images/d0fecd0e9794fd0d0f8aa8132ff1c873dd5731dd553f2b0dc5bc43ec9a2a2301.png)

https://github.com/orgs/ethereum/repositories

Una vez dentro del repositorio, debes dirigirte a **_Releases_**

![](https://storage.googleapis.com/papyrus_images/c0b52e8ce27ab57c74dba377bf6e125c66de2a2255a901408b69b105f8348a29.png)

Se descarga el archivo correspondiente al sistema operativo que estemos utilizando, en nuestro caso al estar usando **_Ubuntu_** debemos descargar “**_staking\_deposit-cli-\[version\]-amd64.tar.gz_**”

![](https://storage.googleapis.com/papyrus_images/f2c8a9b01e903fbf970e7ceec5cb9e5a0fecfcce4b465881f03190f2a9ce7a2e.png)

Una vez descargado, descomprimí el archivo utilizando el comando:

    tar -xzf [nombre_archivo].tar.gz
    

![](https://storage.googleapis.com/papyrus_images/9a0f32b52e9fb1c08f5b4e1191f3fa30536b66e7df7485ce012d1d8cf15a97b8.png)

Para poder empezar a interactuar con el CLI hay que utilizar los comandos que nos brinda [la documentación](https://github.com/ethereum/staking-deposit-cli?tab=readme-ov-file#tutorial-for-users)

![](https://storage.googleapis.com/papyrus_images/a8e374a72ec97566b8ca87d9e986bdd7d94c3986ede5652b11d7bfdb33fac71d.png)

Utilizamos el comando `new-mnemonic` reemplazando la dirección de retiro por la que nos indica **_Lido_**:

![](https://storage.googleapis.com/papyrus_images/9ef8b603fb41b3d4dadc952a2802d0e1204b1b220f69126133614f595bca43c5.png)

Creamos las _keys_ con el comando `./deposit new_mnemonic --execution_address WITHDRAWAL_ADDRESS_HOLESKY_LIDO` :

![](https://storage.googleapis.com/papyrus_images/029b566f37d1290694be6e849a95ad5da33a7feee591556e686a281fc941320a.png)

Seleccionamos el idioma. En este caso, la opción de inglés con el _3:_

![](https://storage.googleapis.com/papyrus_images/d5b1d1ae327fd26e4fdb8a5c07af7b4e1ed6a0f758e27dc7cee64a9fab2848a9.png)

Reingresamos la dirección para confirmar:

![](https://storage.googleapis.com/papyrus_images/bc90630f6750d440e053839a635b811dcaf327ef6a683f80168016fef96f4721.png)

Seleccionamos el idioma para las palabras mnemonicas, _4_ para la opción de inglés:

![](https://storage.googleapis.com/papyrus_images/43f5b603cf342e0450156893c185d76c0d1b2572ad28f9bf78948073b937edb7.png)

Seleccionamos cuantos validadores vamos a querer correr. En nuestro caso, _1_ :

![](https://storage.googleapis.com/papyrus_images/a206b6a524a5d9f6004fb8e261a312f3b608b7d075b130a615c75d4e80aba8d2.png)

Se selecciona la red que se va a utilizar: _mainnet_ o _testnet_.

En este caso, testnet —> H_olesky_:

![](https://storage.googleapis.com/papyrus_images/7e2aff4076fa3d682f2e6d78683a74c90d78d1fb19b2df752517802181881194.png)

Se ingresa una contraseña para nuestro _keystore (vamos a volver a usarla luego asi que es mejor anotarla en un lugar seguro)_:

![](https://storage.googleapis.com/papyrus_images/d3c9fd24ca23e5c32b0963b018e6b06f00d28bc4ca4c0fb90c99e4e0de7f28ba.png)

Repite la contraseña:

![](https://storage.googleapis.com/papyrus_images/a0c1cfef6c2ab9cff63e2d649cd9e2a76900fa40869cff7498bd02ab9ff887d1.png)

Guardamos las palabras:

![](https://storage.googleapis.com/papyrus_images/fda2822924ca2ed8c6c929c0a86cd7efd0d52cfdd7b2cbc9d3cfd2470b6d8b42.png)

Escribe las palabras separadas por espacio para confirmar:

![](https://storage.googleapis.com/papyrus_images/1c9ceaf0c59b79184404ca2f89232b611e93a9807b2506224e84327687458b15.png)

¡Listo! Ya creaste el keystore y tenemos el path en donde se encuentran.

![](https://storage.googleapis.com/papyrus_images/a72c5061b06d373e24a21f32bd8969eb020f513dd0a9413e6e42740445684612.png)

Desde ahí, nos dirigimos a la carpeta indicada para ver los archivos:

![](https://storage.googleapis.com/papyrus_images/91089ec86dcbbd97c0d4e46c7a1f241599b7bb44844ba127d5730ff07c2b7483.png)

![](https://storage.googleapis.com/papyrus_images/460af6c8dfd09a5a28d3b304dd844ce83b6b25dd9802d53851a1268365173973.png)

Parte 2: Interacción con Dappnode
---------------------------------

### Pre-requisitos: MEV Boost Holesky

Para evitar encontrarse con la siguiente advertencia a la hora de cargar las claves, debemos instalar **_MEV Boost Holesky_**, ya que vamos a estar montando un **CSM**

![](https://storage.googleapis.com/papyrus_images/25b104206bc49949f08ec96b4c69a3cc0a6445c9b80c690437a9cd430d66ce1d.png)

1- Vamos a la pestaña de: _Stakers_ > _Holesky_

![](https://storage.googleapis.com/papyrus_images/e406f82da30568a5b02aa4d6d4d8ba9957e8542a77db5cdf1fa876f0b170ab16.png)

2- Seleccionamos : “_Mev Boost Holesky_”

![](https://storage.googleapis.com/papyrus_images/dc03dec9433a12d4dbbb6be9ec44a25bcce6c5736ee7bae6eb1256fa1c3bf5ad.png)

3- Esperamos a que se descargue

![](https://storage.googleapis.com/papyrus_images/686cacc136b783a9862b659e7eab973d5ad0d724e681d2114da3db6b40484c1b.png)

![](https://storage.googleapis.com/papyrus_images/1f17e7e4ea4231fc224e83cc8a3020bcb88df368995fc10e3fae3e8e6d9f2768.png)

¡Espectacular! Ahora ya tenemos instalado Mev boost!

### Cargar el keystore

En **_web3signer_** hacemos click en “_Upload Keystores_”

![](https://storage.googleapis.com/papyrus_images/f80ab4efcedfba9be677d83145b392e026ed67fb9ee6b8d1ef3e67d64651deeb.png)

Le damos click en “_IMPORT_”:

![](https://storage.googleapis.com/papyrus_images/81061fbc5880dbf1c781f908608a1a1f34219761444667107dc9c329e4035681.png)

**Importante**: debes subir el **_keystore_** y NO EL DEPOSIT\_DATA

![](https://storage.googleapis.com/papyrus_images/8a34cd42b73e1ab2981e7f092f8881dc10d2713385bb045aefd3066074a7d418.png)

Si queremos podemos importar **_slashing protection data_** :

![](https://storage.googleapis.com/papyrus_images/5a58cd56e37494bf27b09bcf754f9176d3ee367ce40044722dd2f64c3e0ffc4f.png)

Arrastramos el keystore hacia el apartado gris de la pagina:

![](https://storage.googleapis.com/papyrus_images/e041286f02010a519792802887ab5d2c86d2e2125e074c243928a78b299463d3.png)

Ingresamos la contraseña que utilizste al momento de crear el keystore usando el **Ethereum Staking Deposit CLI:**

![](https://storage.googleapis.com/papyrus_images/6a31faa5f1c56ea549024c14292d25ac2a515ad48ca3d71d1e4055406a3be99c.png)

Seleccionamos **Lido**:

![](https://storage.googleapis.com/papyrus_images/c108db51665033a5cb8d9befa4416fab3276fc50a5d0e89aa51fbb0fe3e4d59a.png)

Observamos que el _fee recipient_ se setea automaticamente

![](https://storage.googleapis.com/papyrus_images/8e7a25d09d62f2d1e4cbf6e6db4eab606069ae19d83ce9a50286ba5b2d5bbf15.png)

¡Perfecto! Keys importadas. Es importante seguir el orden de instalación de **_Mev Boost_** y luego estos pasos para no tener problemas al abrir el link para realizar la carga de las keys

![](https://storage.googleapis.com/papyrus_images/06abc9d3451baf84fe0ad71339991541175f260b89d189ef132b881b0dc55304.png)

Puedes ver cómo se encuentra cargada la key

![](https://storage.googleapis.com/papyrus_images/bd7a8bf6069979e5632d5dc43497f7f0b108094bf0a78d834dae4ea5b44d59d4.png)

Parte 3: Registro del node operator
-----------------------------------

### Prerequisito: wallet con > 2 ETH

> 2 ETH para el montado del CSM y realizar una transacción.

Nos dirigimos hacia la [web de testnet de **Lido**](https://csm.testnet.fi/)\*\* \*\*

![](https://storage.googleapis.com/papyrus_images/d1061a39c645eaa9f5a94aad32a6aa907da39984ba4dba03df8c64cb20b024c8.png)

Conectamos nuestra wallet, en este caso **_Metamask_**:

![](https://storage.googleapis.com/papyrus_images/bedd76f53994ddf17ae8d97fc869191b883ba5713c0fd3b4ad090ca99ec0d116.png)

Hacemos click en el botón _Create Node Operator_:

![](https://storage.googleapis.com/papyrus_images/0bf5bed2a1a1cd14e14a22cc63dc29f5a99d706591ef1ce0efa58f02be919fd9.png)

Pegamos el archivo JSON del _deposit data:_

![](https://storage.googleapis.com/papyrus_images/0ba2921b4a29a262c553053c26cbeaec42cb852c0eb871b24b01cec0f9cf251c.png)

Se abre la ventana de **_Metamask_** para realizar el deposito de los 2 ETH, le damos click a _Confirmar_ :

![](https://storage.googleapis.com/papyrus_images/9b74cb3ddf5468ff126a914a913b495dc2c959157d11c3b9a1db1fca33d4af1e.png)

Luego de esperar, podes ir a la parte de _view keys,_ copiar el link de la key y buscarlo en la [web de beaconcha.in](https://holesky.beaconcha.in/) o hacer click directo en el boton azul:

> ¿Qué significa que el Status sea Depositable? Esperando a que su depósito sea finalizado y validado en la Beacon Chain para poder ser activado y comenzar a participar en el proceso de validación y creación de bloques

![](https://storage.googleapis.com/papyrus_images/914075610a9d85c645c189e10fdd55d66eac5065146406a2cc181b187bf66878.png)

[https://holesky.beaconcha.in/validator/0x9740a146f59fcc640916ea6ba508515ac09ba0de2e4855dbc0d8fa5fd911f04c52476f2502d7248fa3bb93c6fbb6e04f](https://holesky.beaconcha.in/validator/0x9740a146f59fcc640916ea6ba508515ac09ba0de2e4855dbc0d8fa5fd911f04c52476f2502d7248fa3bb93c6fbb6e04f)

![](https://storage.googleapis.com/papyrus_images/d6aae6916aed3c756ca20277c90bff0cb5edbdea49c14bdcf754d020f5eb1be4.png)

Despues de unas horas el estado del validador va a pasar de:

**_deposited → pending → active_**

**Esto puede tardar 1 dia aproximadamente, asi que debemos tener paciencia.**

¡Felicidades! Si seguiste todos los pasos de esta guía, ahora deberías tener tu validador CSM funcionando en Dappnode.

Pasaste por la configuración del **Ethereum Staking Deposit CLI** para generar tus claves de validador y depósito, y has interactuado con **Dappnode** para cargar tus claves y completar la configuración de tu nodo validador en la red Holesky.

Este proceso no solo fortalece la red de Ethereum y mejora la descentralización, sino que también te permite participar en el staking de manera activa.

**Mantené tu Dappnode actualizado y revisa periódicamente el estado de tu validador para garantizar un rendimiento óptimo.**

Si deseas seguir aprendiendo más o profundizar en aspectos como la creación de claves offline o la optimización de validadores, asegúrate de consultar los recursos adicionales que hemos mencionado y seguir experimentando con nuevas configuraciones.

Cualquier duda que tengas y quieras consultar o conversar con alguien, estas invitado a unirte a nuestro [Club de Nodos en telegram](https://t.me/SEED_Nodes) o escaneá el QR:

![](https://storage.googleapis.com/papyrus_images/ef31f71f45f3abea20570117ce11f6a38beb0ea6200794b4c44a41c33c0b59a3.png)

¡Buena suerte con tu nodo validador y bienvenido al ecosistema de validadores de Ethereum!

Recursos
--------

Guía oficial:

[https://dvt-homestaker.stakesaurus.com/bonded-validators-setup/lido-csm#key-settings-to-note](https://dvt-homestaker.stakesaurus.com/bonded-validators-setup/lido-csm#key-settings-to-note)

Claves seguras para nodos validadores en Ethereum:

[![]({{DOMAIN}}/editor/youtube/play.png)](https://www.youtube.com/watch?v=ou_42QD_F4E)

Github de Ethereum:

[https://github.com/ethereum](https://github.com/ethereum)

[Subscribe](null)

---

*Originally published on [Tute](https://paragraph.com/@mateoemilio/montando-un-validador-csm-en-dappnode)*
