Teku VC

Descargar Teku

Sigue los pasos de este apartado anterior para descargar Teku si aún no lo has hecho:

Teku BN

Crear una nueva cuenta de usuario

sudo useradd --no-create-home --shell /bin/false teku_validator

Prepare los keystores del validador

  1. Cree 3 carpetas nuevas para almacenar los datos del cliente del 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 esta carpeta al usuario teku.

  4. Restringir los permisos en esta nueva carpeta de modo que solo el propietario pueda leer, escribir y ejecutar archivos en esta carpeta.

sudo mkdir -p /var/lib/teku_validator/validator_keystores /var/lib/teku_validator/keystore_password
sudo cp ~/validator_keys/<validator_keystore.json> /var/lib/teku_validator/validator_keystores
sudo cp ~/validator_keys/<validator_keystore_password.txt> /var/lib/teku_validator/keystore_password
sudo chown -R teku_validator:teku_validator /var/lib/teku_validator
sudo chmod 700 /var/lib/teku_validator

Aparte de la extensión del archivo, el archivo validator_keystore_password deberá tener el mismo nombre que el archivo del keystore de firma del validador (por ejemplo, keystore-m-123.json, keystore-m-123.txt).

Configurar el servicio de cliente del validador

Cree un archivo de configuración systemd para que el servicio Teku Validator Client se ejecute en segundo plano.

sudo nano /etc/systemd/system/tekuvalidator.service

Pegue los siguientes parámetros de configuración en el archivo:

[Unit]
Description=Teku Validator Client (Holesky)
Wants=network-online.target
After=network-online.target
[Service]
User=teku_validator
Group=teku_validator
Type=simple
Restart=always
RestartSec=5
Environment="JAVA_OPTS=-Xmx6g"
Environment="TEKU_OPTS=-XX:-HeapDumpOnOutOfMemoryError"
ExecStart=/usr/local/bin/teku/bin/teku vc \
  --network=holesky \
  --data-path=/var/lib/teku_validator \
  --validator-keys=/var/lib/teku_validator/validator_keystores:/var/lib/teku_validator/keystore_password \
  --beacon-node-api-endpoint=http://<Internal_IP_address>:5051 \
  --validators-proposer-default-fee-recipient=<your_designated_ETH_wallet address> \
  --validators-proposer-blinded-blocks-enabled=true \
  --validators-graffiti="<your_graffiti_of_choice>" \
  --metrics-enabled=true \
  --metrics-port=8108 \
  --doppelganger-detection-enabled=true 

[Install]
WantedBy=multi-user.target

Una vez que haya terminado, guarde con Ctrl+Oy Enter, luego salga con Ctrl+X. Comprenda y revise el resumen de configuración que aparece a continuación y modifíquelo si es necesario.

Resumen de configuración del cliente Teku Validator:

  1. --network: Ejecute el servicio de cliente validador en la testnet ETH Holesky

  2. --data-path: Especifique el directorio para que Teku almacene la información del validador.

  3. --validator-keys: Ruta del archivo al directorio donde se almacenan el keystore de firma del validador y el archivo de texto con la contraseña correspondiente. Aparte de la extensión del archivo (por ejemplo, .json frente a .txt), el archivo de contraseña deberá tener el mismo nombre que el archivo keystore de firma del validador. Por ejemplo:

  4. --beacon-node-api-endpoint: URL para conectarse a los clientes de consenso principal y de respaldo, si los hubiera. Debe ser la misma dirección IP configurada en su cliente de consenso. Vuelve aquí si no lo recuerdas.

  5. --validators-proposer-default-fee-recipient: Dirección de billetera ETH para recibir recompensas de propuestas de bloque y sobornos MEV

  6. --validators-proposer-blinded-blocks-enabled: Requerido cuando se utilizan constructores externos para construir bloques (por ejemplo, relés MEV)

  7. --validators-graffiti: Texto opcional para mostrar on-chain cuando su validador propone un bloque

  8. --metrics-enabled: Habilitar métricas para monitoreo

  9. --metrics-port: Puerto para obtener métricas para monitoreo

  10. --doppelganger-detection-enabled: Ayuda a evitar la penalización debido a la doble firma al verificar si sus claves de validación ya están activas en la red. No es una solución infalible.

Inicie el servicio Teku Validator

Recargar el systemd para registrar los cambios realizados, inicie el cliente Teku Validator y verifique su estado para asegurarse de que se esté ejecutando:

sudo systemctl daemon-reload
sudo systemctl start tekuvalidator.service
sudo systemctl status tekuvalidator.service

El resultado debería decir que Teku Validator Client está "active (running)". Presione CTRL-C para salir y el cliente continuará ejecutándose.

Utilice el siguiente comando para comprobar los logs en busca de advertencias o errores:

sudo journalctl -fu tekuvalidator -o cat | ccze -A

Resultado esperado:

Ejemplo de salida de Teku VC en la testnet Goerli. Buscar Holesky en tu salida.

Presione CTRL-Cpara salir.

Si el servicio Teku Validator Client funciona sin problemas, ahora podemos permitir que se inicie automáticamente al reiniciar el sistema.

sudo systemctl enable tekuvalidator

Resultado esperado:

Created symlink /etc/systemd/system/multi-user.target.wants/tekuvalidator.service → /etc/s

Eliminar copias de keystores del validador

Para evitar errores de configuración que conduzcan a una doble firma en el futuro, elimine las copias duplicadas de los keystore de firma del validador una vez que todo esté funcionando sin problemas.

sudo rm -r ~/validator_keys

Recursos

Last updated