Skip to main content

Convirtiéndose en un Validador

Ejecutando un Validador

Sugerimos primero probar unirse a una testnet pública. La información sobre cómo unirse a la testnet más reciente se puede encontrar aquí.

Antes de configurar un nodo validador, asegúrese de haber completado la guía Unirse a Mainnet.

Si planea usar un KMS (sistema de gestión de claves), deberá seguir estos pasos primero: Usar un KMS.

¿Qué es un Validador?

Los validadores son responsables de confirmar nuevos bloques en la blockchain a través de un proceso de votación automatizado. La participación de un validador puede ser reducida si no están disponibles o firman bloques en la misma altura. Dado que hay riesgo de reducción, sugerimos que lea sobre la Arquitectura de Nodo Centinela para proteger su nodo de ataques DDOS y garantizar alta disponibilidad.

Si desea convertirse en un validador de la 'mainnet' del Hub, debería aprender más sobre seguridad.

Las siguientes instrucciones asumen que ya ha configurado un nodo completo y está sincronizado al último bloque.

Cree su Validador

Su mpvalconspub puede ser utilizado para crear un nuevo validador apostando tokens. Puede encontrar su llave pública de validador ejecutando:

crossfid tendermint show-validator

Para crear su validador, simplemente use el siguiente comando:

¡No use más mpx del que tiene!

crossfid tx staking create-validator \
--amount=1000000000000000000mpx \
--pubkey=$(crossfid tendermint show-validator) \
--moniker="elija un apodo" \
--chain-id= \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation="1000000" \
--gas="auto" \
--gas-prices="10000000000000mpx" \
--gas-adjustment=1.5 \
--from=

Al especificar los parámetros de comisión, el commission-max-change-rate se usa para medir el cambio de punto en el commission-rate. Por ejemplo, de 1% a 2% es un aumento del 100%, pero solo un punto porcentual.

Min-self-delegation es un entero estrictamente positivo que representa la cantidad mínima de poder de voto autodelegado que su validador debe tener siempre. Un min-self-delegation de 1000000 significa que su validador nunca tendrá una autodelegación inferior a 1 MPX.

Es posible que no tenga suficiente MPX para ser parte del conjunto activo de validadores al principio. Los usuarios pueden delegar a validadores inactivos (aquellos fuera del conjunto activo) usando la XFI Console. Puede confirmar que está en el conjunto de validadores usando un explorador de terceros como XFI Scan..

Editar la Descripción del Validador

Puede editar la descripción pública de su validador. Esta información es para identificar a su validador y será usada por delegadores para decidir a qué validadores apostar. Asegúrese de proporcionar entrada para cada bandera a continuación. Si una bandera no se incluye en el comando, el campo se establecerá en vacío (--moniker predetermina al nombre de la máquina) si el campo nunca se ha configurado o permanece igual si se ha configurado en el pasado.

La \ especifica qué validador estás editando. Si elige no incluir algunas de las banderas a continuación, recuerde que la bandera --from debe incluirse para identificar el validador que se va a actualizar.

El --identity se puede usar para verificar la identidad con sistemas como Keybase o UPort. Al usar Keybase, --identity debe ser completado con una cadena de 16 dígitos generada con una cuenta de keybase.io. Es un método criptográficamente seguro para verificar su identidad en múltiples redes en línea. La API de Keybase nos permite recuperar su avatar de Keybase. Así es como puede agregar un logo al perfil de su validador.

crossfid tx staking edit-validator
--moniker="elija un apodo" \
--website="https://google.com" \
--identity=6A0D65E29A4CBC8E \
--details="¡Hacia el infinito y más allá!" \
--chain-id= \
--gas="auto" \
--gas-prices="10000000000000mpx" \
--gas-adjustment=1.5 \
--from= \
--commission-rate="0.10"

Advertencia Tenga en cuenta que algunos parámetros como commission-max-rate y commission-max-change-rate no se pueden cambiar una vez que su validador está funcionando.

Nota: El valor de commission-rate debe adherirse a las siguientes reglas:

  • Debe estar entre 0 y el commission-max-rate del validador
  • No debe exceder el commission-max-change-rate del validador, que es el cambio máximo de punto porcentual por día. En otras palabras, un validador solo puede cambiar su comisión una vez por día y dentro de los límites de commission-max-change-rate.

Ver Descripción del Validador

Vea la información del validador con este comando:

crossfid query staking validator

Seguimiento de la Información de Firma del Validador

Para realizar un seguimiento de las firmas de un validador en el pasado puede hacerlo utilizando el comando signing-info:

crossfid query slashing signing-info \
--chain-id=

Desbloquear Validador

Cuando un validador es encerrado por inactividad, debe enviar una transacción Unjail desde la cuenta del operador para poder recibir nuevamente las recompensas del proponente del bloque (depende de la distribución de tarifas de la zona).

crossfid tx slashing unjail \
--from= \
--chain-id=

Confirme que su Validador está Funcionando

Su validador está activo si el siguiente comando devuelve algo:

crossfid query tendermint-validator-set | grep "$(crossfid tendermint show-address)"

Ahora debería ver su validador en uno de los exploradores de CrossFi Chain. Está buscando la dirección codificada bech32 en el archivo ~/.crossfi/config/priv_validator.json.

Detener su Validador

Al intentar realizar un mantenimiento rutinario o planificar una próxima actualización coordinada, puede ser útil detener su validador de forma sistemática y ordenada. Puede lograr esto configurando el halt-height a la altura a la que quiera que su nodo se apague o pasando la bandera --halt-height a crossfid. El nodo se apagará con un código de salida cero a esa altura dada, después de confirmar el bloque.

Configuración Avanzada

Puede encontrar más información avanzada sobre la ejecución de un nodo o un validador en la documentación de Tendermint Core.

Problemas Comunes

Problema #1: Mi validador tiene voting_power: 0

Su validador ha sido encarcelado. Los validadores son encarcelados, es decir, eliminados del conjunto activo de validadores, si no votan en al menos 500 de los últimos 10,000 bloques, o si firman dos veces.

Si ha sido encarcelado por inactividad, puede recuperar su poder de voto para su validador. Primero, si no está utilizando Cosmovisor y crossfid no está ejecutándose, inícielo de nuevo:

crossfid start

Espere a que su nodo completo se ponga al día con el último bloque. Luego, puede liberar a su validador.

Después de haber enviado la transacción de desbloqueo, compruebe su validador de nuevo para ver si su poder de voto ha regresado.

crossfid status

Puede notar que su poder de voto es menor de lo que solía ser. ¡Eso es porque recibió una reducción por inactividad!

Problema #2: Mi crossfid se bloquea debido a demasiados archivos abiertos

El número predeterminado de archivos que Linux puede abrir (por proceso) es 1024. Se sabe que crossfid abre más de 1024 archivos. Esto causa que el proceso se bloquee. Una solución rápida es ejecutar ulimit -n 4096 (aumente el número de archivos abiertos permitidos) y luego reiniciar el proceso con crossfid start. Si está usando systemd u otro gestor de procesos para iniciar crossfid (como Cosmovisor) esto puede requerir alguna configuración a ese nivel. Un archivo systemd de ejemplo para solucionar este problema se muestra a continuación:


# /etc/systemd/system/crossfid.service
[Unit]
Description=CrossFi Chain Node
After=network.target

[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu
ExecStart=/home/ubuntu/go/bin/crossfid start
Restart=on-failure
RestartSec=3
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target