Lodestar VC
Crear una nueva cuenta de usuario
sudo useradd --no-create-home --shell /bin/false lodestar_validator
Instalación de dependencias - Docker
El siguiente script realiza lo siguiente:
Descargue y ejecute el script de instalación oficial de Docker
Crea un nuevo grupo de usuarios llamado "docker"
Agrega su cuenta de usuario actual de Linux a este nuevo grupo de Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo groupadd docker
sudo usermod -aG docker $USER
Cierre sesión y vuelva a iniciarla para que la configuración del nuevo grupo de usuarios surta efecto.
exit
ssh <user>@<IP_address> -p <port_no.> -i <SSH_key> -v
Cree una nueva cuenta de usuario de Lodestar
Omita este paso si está utilizando el cliente de consenso Lodestar.
sudo useradd --no-create-home --shell /bin/false lodestar
Prepare el directorio de datos del validador.
1) Cree 3 carpetas nuevas para almacenar los datos del cliente validador, el keystore del validador y la contraseña del keystore.
2) Copie los keystores del validador y su archivo de contraseña en sus respectivas carpetas.
3) Cambie el propietario de estas nuevas carpetas al usuario lodestar
.
4) Restrinja los permisos en esta nueva carpeta de modo que solo el propietario pueda leer, escribir y ejecutar archivos en esta carpeta.
5) Recupere el UID y el GID de la cuenta de usuario lodestar
que se utilizará en su archivo docker-compose.yml
en el siguiente paso
sudo mkdir -p /var/lib/lodestar_validator/validator_keystores /var/lib/lodestar_validator/keystore_password
sudo cp ~/validator_keys/<validator_keystore.json> /var/lib/lodestar_validator/validator_keystores
sudo cp ~/validator_keys/<validator_keystore_password.txt> /var/lib/lodestar_validator/keystore_password
sudo chown -R lodestar_validator:lodestar_validator /var/lib/lodestar_validator
sudo chmod 700 /var/lib/lodestar_validator
id lodestar_validator
Resultado esperado:
uid=1004(lodestar) gid=1005(lodestar) groups=1005(lodestar)
Nuevas carpetas creadas:
/var/lib/lodestar_validator/
/var/lib/lodestar_validator/validator_keystores
/var/lib/lodestar_validator/keystore_password
Descargando Lodestar
Cree una nueva carpeta para el cliente del validador Lodestar.
cd
sudo mkdir lodestar_validator
Crea un archivo docker-compose.yml
en la carpeta Lodestar.
cd ~/lodestar_validator
sudo nano docker-compose.yml
Pegue la siguiente configuración en el archivo docker-compose.yml
. Nota: Esto es similar al archivo de configuración systemd
utilizado en la configuración de otros clientes en este plan de estudios.
services:
validator_client:
image: chainsafe/lodestar:latest
container_name: lodestar_validator
user: <UID>:<GID>
restart: unless-stopped
volumes:
- /var/lib/lodestar_validator:/var/lib/lodestar_validator
command:
- validator
- --dataDir
- /var/lib/lodestar_validator
- --importKeystores
- /var/lib/lodestar_validator/validator_keystores
- --importKeystoresPassword
- /var/lib/lodestar_validator/keystore_password/<validator_signing_keystore_password_file_name>.txt
- --network
- holesky
- --beaconNodes
- http://<Internal_IP_address>:5051
- --builder
- --suggestedFeeRecipient
- "<your_designated_ETH_wallet_address>"
- --doppelgangerProtection
- --metrics
- --metrics.port
- "5064"
- --graffiti
- "your_graffiti_of_choice"
environment:
NODE_OPTIONS: --max-old-space-size=2048
ports:
- "5064:5064"
Una vez que haya terminado, guarde con Ctrl+O
y Enter
, luego salga con Ctrl+X
.
Ahora, analicemos lo que estamos configurando en este archivo yml
.
image: chainsafe/lodestar:latest
: Obtiene y ejecuta la última versión estable de Lodestarcontainer_name: lodestar_validator
: Nombre dado a este contenedor Docker, que puede depender de usted.restart: unless-stopped
: reinicia automáticamente este contenedor cuando se reinicia su dispositivo, a menos que el usuario lo detenga explícitamente.volumes:
: vincula las carpetas de su máquina host a las carpetas del contenedor Docker para que el contenedor pueda acceder a ellas. Aquí, vinculamos las carpetas utilizadas por los flags--dataDir,
--importKeystores
y--importKeystoresPassword
.network_mode: host
: Permite que el contenedor Docker comparta el espacio de nombres de la red con el host -Por ejemplo
localhost
, se refiere tanto al host como al contenedor Docker, los puertos se comparten entre el host y el contenedor.
command:
: Las banderas con las que ejecutar Lodestar. Similar a las banderas utilizadas en el método de configuración systemd.Cada
-
indica un salto de línea.Las variables con un prefijo
--
son banderas y las demás son los valores de las banderas.El primer valor (
validator
) indica a Lodestar que ejecute solo el cliente de consenso y sin el cliente validador.--dataDir
:Especifique el directorio donde Lodestar almacenará los datos relacionados con el cliente validador--network
: Ejecute el servicio Validator Client en la red de prueba ETH Holesky.--beacon-nodes
: URL para conectarse a los clientes de consenso principal y de respaldo, si los hay. Debe ser la misma dirección IP configurada en su cliente de consenso. Vuelva a consultarla aquí si no la recuerda.--builder
: Requerido cuando se utilizan constructores externos para construir bloques (por ejemplo, relés MEV)--suggestedFeeRecipient
: Dirección de billetera ETH para recibir recompensas de propuestas de bloque y sobornos MEV--doppelganger-detection
: Ayuda a evitar la penalización debido a la doble firma al verificar si las claves de validación ya están activas en la red. No es una solución infalible.--metrics
: Habilitar métricas para monitoreo--metrics.port
: establece el puerto para obtener métricas--graffiti
: Texto opcional para mostrar en cadena cuando su validador propone un bloque
environment
: Le indica a Node.js que permita utilizar una mayor cantidad de memoria antes de iniciar los procesos de recolección de basura para liberar memoria.ports:
Asigna los puertos utilizados por el contenedor Docker a los puertos del dispositivo host para que sean accesibles a través de 127.0.0.1 o localhost.
Inicie el contenedor del cliente Lodestar Validator
1) Asegúrese de estar en la misma carpeta que el archivo docker-compose.yml
que creó anteriormente.
cd ~/lodestar_validator
2) Inicie el contenedor Docker.
docker compose up -d
Resultado esperado:

3) Asegúrese de que no haya mensajes de error monitoreando los logs durante unos minutos.
docker logs lodestar_validator -f

Eliminar keystores duplicados de validación
Para evitar errores de configuración que conduzcan a una doble firma en el futuro, elimine las copias duplicadas de los kestore de firma del validador una vez que todo esté funcionando sin problemas.
sudo rm -r ~/validator_keys
Recursos
Repositorio Git: https://github.com/ChainSafe/lodestar-quickstart.git
Documentación: https://chainsafe.github.io/lodestar/
Discord: https://discord.gg/7Gdb4nFh
Last updated