Tornando-se um Validador
Executando um Validador
Sugerimos que você experimente entrar primeiro em uma testnet pública. Informações sobre como entrar na testnet mais recente podem ser encontradas aqui.
Antes de configurar um nó validador, certifique-se de ter concluído o guia de Entrada na Mainnet.
Se você planeja usar um KMS (sistema de gerenciamento de chaves), deverá seguir estas etapas primeiro: Usando um KMS.
O que é um Validador?
Os validadores são responsáveis por comprometer novos blocos no blockchain por meio de um processo de votação automatizado. O stake de um validador é reduzido se ele se tornar indisponível ou assinar blocos na mesma altura. Como existe a chance de penalização, sugerimos que você leia sobre a Arquitetura do Nó Sentry para proteger seu nó de ataques DDOS e garantir alta disponibilidade.
Se você deseja se tornar um validador para o mainnet
do Hub, deve aprender mais sobre segurança.
As instruções a seguir presumem que você já configurou um nó completo e está sincronizado com a altura de bloco mais recente.
Crie Seu Validador
Seu mpvalconspub
pode ser usado para criar um novo validador ao fazer stake de tokens. Você pode encontrar sua pubkey de validador ao executar:
crossfid tendermint show-validator
Para criar seu validador, basta usar o seguinte comando:
Não use mais mpx
do que você tem!
crossfid tx staking create-validator \
--amount=1000000000000000000mpx \
--pubkey=$(crossfid tendermint show-validator) \
--moniker="choose a moniker" \
--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=
Ao especificar os parâmetros de comissão, o commission-max-change-rate
é usado para medir a mudança em pontos percentuais no commission-rate
. Por exemplo, de 1% para 2% é um aumento de taxa de 100%, mas apenas um ponto percentual.
Min-self-delegation
é um número inteiro estritamente positivo que representa a quantidade mínima de poder de voto auto-delegado que seu validador deve sempre ter. Um min-self-delegation
de 1000000
significa que seu validador nunca terá uma auto-delegação inferior a 1 MPX
É possível que você não tenha MPX suficiente para fazer parte do conjunto ativo de validadores no início. Os usuários podem delegar a validadores inativos (aqueles fora do conjunto ativo) usando o XFI Console Você pode confirmar que está no conjunto de validadores usando um explorador terceirizado como o XFI Scan.
Editar Descrição do Validador
Você pode editar a descrição pública do seu validador. Essa informação é usada para identificar seu validador, e será usada por delegadores para decidir quais validadores alocar. Certifique-se de fornecer entrada para cada flag abaixo. Se uma flag não for incluída no comando, o campo será padrão para vazio (--moniker
será padrão para o nome da máquina) se o campo nunca foi definido ou permanecerá o mesmo se já foi definido no passado.
O \ especifica qual validador você está editando. Se você optar por não incluir algumas das flags abaixo, lembre-se de que a flag --from deve ser incluída para identificar o validador a ser atualizado.
O --identity
pode ser usado para verificar identidade com sistemas como Keybase ou UPort. Ao usar Keybase, --identity
deve ser preenchido com uma string de 16 dígitos gerada com uma conta keybase.io. É um método criptograficamente seguro de verificar sua identidade em várias redes online. A API do Keybase nos permite recuperar seu avatar do Keybase. É assim que você pode adicionar um logotipo ao seu perfil de validador.
crossfid tx staking edit-validator
--moniker="choose a moniker" \
--website="https://google.com" \
--identity=6A0D65E29A4CBC8E \
--details="To infinity and beyond!" \
--chain-id= \
--gas="auto" \
--gas-prices="10000000000000mpx" \
--gas-adjustment=1.5 \
--from= \
--commission-rate="0.10"
Aviso: note que alguns parâmetros como commission-max-rate
e commission-max-change-rate
não podem ser alterados após o seu validador estar funcionando.
Nota: O valor do commission-rate
deve aderir às regras a seguir:
- Deve estar entre 0 e o
commission-max-rate
do validador - Não deve exceder o
commission-max-change-rate
do validador, que é a taxa máxima de mudança % por dia. Em outras palavras, um validador pode alterar sua comissão apenas uma vez por dia e dentro dos limites docommission-max-change-rate
.
Ver Descrição do Validador
Veja as informações do validador com este comando:
crossfid query staking validator
Acompanhar Informação de Assinatura do Validador
Para acompanhar as assinaturas de um validador no passado, você pode fazer isso usando o comando signing-info
:
crossfid query slashing signing-info \
--chain-id=
Descarcerar Validador
Quando um validador é "preso" por inatividade, é necessário enviar uma transação Unjail
da conta do operador para poder receber novamente recompensas de propositor de bloco (depende da distribuição de taxas da zona).
crossfid tx slashing unjail \
--from= \
--chain-id=
Confirme que seu Validador está Funcionando
Seu validador está ativo se o comando a seguir retornar qualquer coisa:
crossfid query tendermint-validator-set | grep "$(crossfid tendermint show-address)"
Agora você deve ver seu validador em um dos exploradores da CrossFi Chain. Você está procurando pelo endereço
codificado bech32
no arquivo ~/.crossfi/config/priv_validator.json
.
Parando Seu Validador
Ao tentar realizar manutenção de rotina ou planejar uma atualização coordenada, pode ser útil que seu validador pare de forma sistemática e graciosa. Você pode conseguir isso configurando a halt-height
para a altura em que deseja que seu nó desligue ou passando o flag --halt-height
ao crossfid
. O nó irá desligar com um código de saída zero nessa altura após o bloco ser comprometido.
Configuração avançada
Você pode encontrar mais informações avançadas sobre a execução de um nó ou um validador na documentação do Tendermint Core.
Problemas Comuns
Problema #1: Meu validador tem voting_power: 0
Seu validador foi preso. Validadores são presos, ou seja, são removidos do conjunto ativo de validadores, se não votarem em pelo menos 500
dos últimos 10.000
blocos ou se assinarem duas vezes.
Se você foi preso por inatividade, pode recuperar seu poder de voto para seu validador. Primeiro, se você não estiver usando Cosmovisor e o crossfid
não estiver em execução, inicie-o novamente:
crossfid start
Aguarde até que seu nó completo alcance o último bloco. Então, você pode descarcerar seu validador
Depois de enviar a transação unjail
, verifique novamente seu validador para ver se seu poder de voto foi recuperado.
crossfid status
Você pode perceber que seu poder de voto é menor do que costumava ser. Isso porque você foi punido por inatividade!
Problema #2: Meu crossfid
falha devido a muitos arquivos abertos
O número padrão de arquivos que o Linux pode abrir (por processo) é 1024
. O crossfid
é conhecido por abrir mais de 1024
arquivos. Isso faz com que o processo falhe. Uma solução rápida é executar ulimit -n 4096
(aumentar o número de arquivos abertos permitidos) e, em seguida, reiniciar o processo com crossfid start
. Se você estiver usando systemd
ou outro gerenciador de processos para lançar o crossfid
(como o Cosmovisor), isso pode exigir alguma configuração nesse nível. Um arquivo systemd
de exemplo para resolver este problema está abaixo:
# /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