Lido CSM - Instalación en testnet
En esta guía te explicamos cómo puedes configurar tu validador en el módulo de Lido CSM
Última actualización: 29.09.2024
Una breve introducción a Lido CSM
Cuando buscamos las opciones más seguras para obtener el máximo provecho de nuestros tokens ETH, lanzarnos con validadores es siempre una opción atractiva. Al hacerlo, estamos ayudando a descentralizar la red y contribuimos, así, a su seguridad. No obstante, el requerimiento de 32 ETH para poder activar tu validador supone una barrera de entrada importante (además de la barrera de entrada técnica).
Dentro de todas las opciones existentes, utilizar protocolos de Liquid Staking para reducir el capital necesario para activar validadores son las más atractivas. Su funcionamiento, muy similar en todos los protocolos de LST pero representado en este caso concreto para el módulo de Lido CSM en testnet, es sencillo:
Por un lado, el usuario / operador se ocupa de configurar el hardware y software necesario, y pone un máximo de 2 ETH de colateral para activar el validador.
Por el otro, Lido se ocupa de completar el validador con los 30 ETH, de forma que se alcancen los 32 ETH necesarios.
La curva de colateral es decreciente en el caso de Lido CSM, por lo que a medida que activamos nuevos validadores, la curva de ETH necesarios se reduce. Así, el usuario / operador podrá tener un validador activo por una cantidad mucho menor a 32 ETH... a la vez que generará rentabilidad tanto por los ETH propios como por los cedidos por el propio módulo de Lido CSM.
Con su módulo de CSM (Community Staking Module - por sus siglas en inglés), Lido quiere ampliar el número de solo stakers y home stakers que ayudan a descentralizar la red. Lo hacen, como ya has podido intuir, cediendo a estos usuarios / operadores parte de los ETH depositados en su protocolo para realizar la actividad de validación.
Antes de empezar - Recomendaciones y consideraciones
Antes de empezar, ten en cuenta los siguientes requisitos previos:
Disponer de clientes de consenso y ejecución sincronizados. [VER GUÍA]
Un cliente de Validación correctamente configurado [VER GUÍA]
Generar keystores a partir de una wallet
Es importante tener una buena conexión a internet y un hardware fiable ya que si hay cortes recibirás penalizaciones
Los relays de MEV Boost deben estar correctamente conectados al cliente de consenso y deben incluir los relays del listado de Lido
Aunque no es necesario un conocimiento técnico profundo, si es fundamental tener una comprensión básica de cómo funcionan las redes blockchain, concretamente la de Ethereum y su mecanismo de consenso PoS.
Hardware: Asegúrate de que tu equipo cumple con los requisitos mínimos de hardware para ejecutar un nodo de Ethereum y los componentes de Lido. Es necesario disponer de los siguientes componentes:
Nodo de Ethereum (Cliente de consenso, Cliente de ejecución y Cliente de Validación).
Una wallet desde la que crear los validadores y con la que resgistrarse en el widget de Lido CSM como operador.
Una configuración específica de Mev facilitada por Lido.
Requisitos de Hardware: Puedes ejecutar la los componentes necesarios de distintos modos, ya sea desde un servicio de hardware en la nube o con hardware propio. Las especificaciones de la máquina serán las siguientes (mínimo):
CPU: Quad-core o superior. Cualquier modelo moderno cumplirá las funciones correctamente
Memoria RAM: 32GB deberían ser suficientes. Una mayor cantidad de memoria RAM implica una mejora en la capacidad de caché y puede reducir el uso de disco para este fin.
Almacenamiento 4TB Nvme: Los discos NVMe ofrecen un rendimiento superior y son ideales para usos intensivos como el caso que nos ocupa.
Conexión: Se recomienda un mínimo de una conexión de 500mb/s simétrica, sin límite (en caso de utilizar proveedor cloud).
Ten en cuenta que el módulo de Lido CSM es un gestor de depósitos, no un cliente de validación o consenso. Es decir, únicamente se encarga de gestionar los "deposit data" para asegurar que:
Están bien configurados bajo los términos requeridos por Lido (withdrawal address y fee recipient)
Completar el depósito en el validador para que se active en la Beacon Chain.
Primero - Hardware y clientes
Se puede realizar la instalación sobre un hardware propio o en la nube. Así como utilizar las conocidas integraciones de ETH para una instalación más amigable. Las aplicaciones compatibles son:
Puedes utilizar cualquiera de la lista para realizar la instalación de los clientes de consenso y de ejecución necesarios, así como del cliente de validación. También puedes realizar una instalación manual siguiendo [esta guía].
Los validadores que generes, y sus depósitos gestionados por el módulo de Lido CSM, serán ejecutados con este hardware y clientes. Si no lo tienes configurado, lanzas tus validadores y se activan, no firmarás bloques y, por tanto, recibirás penalizaciones al no estar activo a efectos de la red.
Segundo – Configuración de parámetros
Esta guía está dirigida a la Testnet de Ehereum Holesky.
Por lo tanto, las calves que generes para el cliente de validación y la “withdrawal address” en testnet serán diferentes de las que generes para la mainnet.
Parámetros testnet holesky:
Withdrawal address: 0xF0179dEC45a37423EAD4FaD5fCb136197872EAd9 La “Withdrawal address” es la dirección que colocarás al momento de generar las claves de los validadorers. Si aún no has generado las claves de los validadores aún no has tenido que introducirla en ningún lugar.
Fee recipient: 0xE73a3602b99f1f913e72F8bdcBC235e206794Ac8 El “Fee recipient” es una configuración que se debe especificar en el cliente de validación.
Además debes añadir el Mev-Boost, que es un programa adicional que debe conectarse al cliente de consenso. Aquí tienes una [guía de instalación]. Lista de relays para holesky.
Tercero - Creación de wallet y Generación de claves
Puedes crear la wallet que utilizarás para lanzar tu validador en el módulo CSM y generar las claves del validador tanto en entornos Windows como Linux.
Utilizando Windows
Bajo interfaz gráfica (Windows, Ubuntu desktop…) se utiliza un software llamado Wagyu, que te lo puedes descargar aquí .
Te recomendamos generar las claves sin conexión a internet, de manera que estés seguro que no se puedan comprometer las mismas mientras las creas.
En caso de que no dispongas de una wallet address y quieras utilizar una nueva, selecciona la opción “
Create new secret recovery phrase
” y a continuación selecciona “Holesky
” en la ventana que aparecerá.Si ya dispones de una dirección que quieras usar y desde la que quieras generar las claves seleccionar “
Use existing secret recovery phrase
” y coloca tu frase semilla.
A continuación aparecerá un mensaje donde nos indica la importancia de almacenar correctamente la frase secreta de recuperación. Almacenar correctamente esta frase de recuperación es lo que nos permitirá, en caso de pérdida de acceso a la wallet, poder recuperarla.
Le damos a “Create
” para continuar
Este proceso tardará unos segundos. Aparecerán las 24 palabras de recuperación. Es importante, tal y como indicaban en la ventana anterior, guardar a buen recaudo las palabras de recuperación - ¡En el mismo orden! -. A la derecha aparece un botón para copiar y así poder pegarla en un archivo de texto. Tras esto, debemos darle a “Next
”, donde te pedirá una segunda confirmación.
Tras esto, nos aparecerá una nueva ventana done deberemos indicar las 24 palabras.
Una vez introducidas las palabras y habiendo pulsado el botón “Check
” ya iremos con la generación de claves.
En este punto, tenemos que decidir cuántas claves queremos generar. En este caso generaremos 5, aunque puedes seleccionar otra cantidad. . Deberás introducir un password para todas ellas, e indicar una “withdrawal address”. Aquí es donde debemos indicar la withdrawal address de Lido CSM testnet:
Withdrawal address: 0xF0179dEC45a37423EAD4FaD5fCb136197872EAd9
Al continuar, debemos reintroducir el password. Seguidamente deberemos indicar dónde almacenar las claves:
Por ultimo, pulsamos en “Create
” y, tras unos segundos, ¡Tendremos las claves generadas!
Una vez finalizado el proceso, se habrán generado dos ficheros diferentes en la carpeta que hayas indicado. Almacena ambos archivos de forma segura:
Keystore file: necesario para activar tu validador y firmar transacciones, es crítico no comprartirlo con nadie. Se puede recrear desde la wallet con la que has generado el mismo.
Deposit data file: te hará falta para ejecutar el depósito y activar tu validador.
Con todos los archivos y claves debidamente almacenadas, puedes cerrar el programa.
Crea y genera las claves utilizando tu terminal de Linux
También podemos utilizar para realizar en terminal de Linux el staking-deposit-cli de Ethereum:
Usamos este comando para descargar el binario:
A continuación descomprimimos el archivo:
tar xzvf staking_deposit-cli-fdab65d-linux-amd64.tar.gz
Accedemos a la carpeta y creamos un nuevo mnemonic:
cd staking_deposit-cli-fdab65d-linux-amd64/
./deposit existing-mnemonic --eth1_withdrawal_address 0xF0179dEC45a37423EAD4FaD5fCb136197872EAd9
Seleccionamos la opción “english” o la que queramos para el lenguaje de la frase de recuperación y nos preguntará cuántas claves de validadores queremos generar. Nos pedirá que confirmemos la withdrawal address que hemos incluido en el comando de inicial, que es la withdrawal address de Lido CSM holesky. Cuando nos pregunte cuantas claves queremos, le decimos 5 - igual que en el caso anterior, podemos indicar el número que nos interese -.
Especificamos la red holesky y añadimos la contraseña de los archivos de los validadores.
A continuación nos aparecerá el mnemonic generado. Lo almacenamos bien y pulsamos cualquier tecla para continuar.
Nos pedirá que introduzcamos el mnemonic que nos acaba de generar. Si todo va bien durante la generación de claves veremos la siguiente pantalla:
Ahora sí, con las claves de los validadores generadas y con el correcto withdrawal address especificado y el fee recipient en el cliente de validación ya podemos ir al siguiente paso.
Cuarto - Configuración Metamask
Te recomendamos que importes la dirección desde la que has creado las claves a una wallet Metamask, para interactuar con el widget de Lido CSM. Para importar la wallet descarga la extensión del navegador y indica “Importar un monedero existente
”:
Después introduces las palabras samilla de recuperación
Y confirma la frase secreta. Tras esto se te solicitará que introduzcas una contraseña para que solo tú puedas utilizar esta wallet en el equipo. Te recomendamos tener esta wallet aislada y en un equipo dedicado.
Aceptas los siguientes mensajes y ya tendrás la wallet cargada.
Con la instalación completada, deberás incluir la red Holesky en metamask. [Guía para hacerlo]
Hacerlo evitará que te aparezca este error en el widget de Lido CSM:
Quinto - Widget de Lido CSM
Ahora sí, con todo preparado, nuestros archivos de deposit data y keystores creados y, la wallet importada a Metamask, podemos acceder al Widget de Lido para activar los depósitos y nuestros validadores.
En la página principal, indica "Connect wallet
" y, posteriormente, "Become a Node Operator"
Recuerda que estamos utilizando Metamask, por lo que seleccionaremos esta opción. Como puedes ver, puedes utilizar otras opciones, incluido Ledger si quieres tener un cortafuegos físico.
En el siguiente paso, le damos los permisos necesarios al módulo de Lido CSM para conectarse con nuestra wallet importada a Metamask:
Con holesky configurado en metamask y ya dentro del widget de Lido, seleccionamos "Create Node Operator
"
IMPORTANTE: Para continuar, debemos disponer de tokens ETH en en la red de testnet holesky. Puedes obtenerlos a través de cualquier faucet. También puedes entrar en el Discord de Lido, en sus canales de CSM Testnet, y pedir ayuda para que te envíen algunos holETH.
Recuerda que para que tus validadores firmen bloques correctamente cuando se activen, debes tener tu hardware preparado, junto a tus clientes de validador, consenso y ejecución.
¿Recuerdas el archivo "Deposit data" que hemos generado al principio del proceso? Ahora es cuando debemos recuperarlo e introducir el deposit_data.json
generado en el momento de crear las claves de los validadores.
El módulo de Lido CSM calculará automáticamente cuántos holETH se requieren de colateral para crear los validadores. En nuestro caso, al haber creado 5 validator keys, necesitamos un total de 9 holETH disponible en la wallet para poder continuar con el proceso.
Recuerda que la curva de "bond" de Lido es decreciente y menor para los Early Adopters. Cuántos más validadores quieras lanzar, más holETH necesitarás de colateral (sucederá lo mismo cuando lancen a Mainnet).
Fíjate que puedes utilizar tanto tokens de Etheruem nativos (ETH), como los propios tokens de Lido en staking (sthETH o wstETH) para colateralizar tus validadores.
Una vez pulsemos “Create Node Operator
”, Metamask nos pedirá que firmemos la transacción.
Una vez confirmada la transacción, en el dashboard del widget de Lido deberíamos ver que tenemos 5 claves depositables.
Si las claves están correctamente configuradas, Lido CSM completará el depósito hasta los 32 ETH, entrando en la cola de activación de la Beacon Chain. De nuevo, es necesario hacer el set up de tu Beacon Node en el que incorporar tus Keystores para que el validador firme correctamente los bloques una vez se active.
Ahora es importante asegurarse que los archivos keystore que generamos para los validadores están correctamente cargados en el Cliente de Validación - Validator Client - y hacer doble-check sobre la configuración del fee-recipient en el mismo (el fee recipient debe apuntar a la address facilitada por Lido, compartida aquí) [Guía sobre Validator client]
Repaso de principales componentes
Cliente de consenso: Debe estar sincronizado con la red de Ethereum Holesky y correctamente conectado al cliente de ejecución.
Cliente de ejecución: Debe estar sincronizado con la red de Ethereum Holesky y correctamente conectado al cliente de consenso.
Cliente de Validación: Debe estar correctamente conectado al cliente de consenso, configurado el fee recipient de Lido CSM Testnet, y los archivos keystore cargados.
MeV-Boost: Debe estar correctamente conectado al cliente de consenso y debe incluir los relays del listado de Lido.
Wallet: Una wallet generada en holesky para crear los validadores y que haga de operador en el widget de Lido CSM.
Archivo deposit_data.json: Es el resumen de claves generadas. Si las has creado correctamente añadiendo la withdrawal address de Lido, podrás cargarlo en el widget y cogerá correctamente tus claves de validador para registrarlas y que reciban fondos.
Archivos keystore.json: son los archivos que contienen las claves de firma de los validadores, deben estar correctamente cargados en el cliente de validación. Comprueba que detecta el número de claves correcto. Cada keystore corresponde a 1 validador.
Last updated