Guia de Criação de Validador
Guia de Criação de Validador
Este guia descreve o processo para criar um novo validador na BOT Chain. O dApp de staking da BOT é a ferramenta oficial para criar e gerenciar validadores na BOT Chain.
- Testnet: https://staking.bohr.life
- Mainnet: https://staking.botchain.ai
Terminologia
- Endereço do Operador: O endereço para criar e modificar informações do validador na BOT. Você deve usar este endereço ao conectar ao dApp de staking. A conta correspondente deve ter mais de 2001 BOT para criar validadores e pagar taxas de transação.
- Endereço de Consenso: Um endereço único para o Node do seu validador. É usado pelos mecanismos de consenso ao minerar novos blocos. Deve ser diferente do endereço do operador. Se você tem um validador existente criado na Beacon Chain, o antigo endereço de consenso não pode ser reutilizado e você deve criar um novo.
- Endereço de Voto: Um endereço usado para votação de finalidade rápida. Se você tem um validador existente criado na Beacon Chain, o antigo endereço de voto não pode ser reutilizado e você deve criar um novo.
- Prova BLS: Uma assinatura BLS que verifica a propriedade do endereço de voto.
- Identidade: Para associar um novo validador a um existente da Beacon Chain. É útil quando os delegadores migram seus stakes - eles podem saber que há um novo validador sendo executado pelo mesmo operador de validador. Isso é opcional, a menos que você esteja migrando um validador antigo.
Passos
1. Conectando-se ao dApp
Conecte-se ao dApp de staking usando seu Endereço de Operador. As opções MetaMask e WalletConnect estão disponíveis para esta etapa. Certifique-se de que a conta tenha mais de 2001 BOT antes de prosseguir para a próxima etapa.
2. Preenchendo o formulário
Navegue até o dApp e selecione o botão "Tornar-se um Validador" no meio da página para iniciar o processo de criação.
As seguintes informações são necessárias para criar um validador.
Informações Básicas

Você precisará fornecer os seguintes detalhes na página Criar Validador:
- Nome do Validador: Escolha um nome composto por 3-9 caracteres alfanuméricos, excluindo caracteres especiais.
- Site: Forneça um URL para um site com informações adicionais sobre seu validador.
- Descrição: Uma breve descrição de seu validador.
Endereços

Os seguintes endereços são necessários:
- Endereço de Consenso: Um endereço único para o Node do seu validador.
- Endereço de Voto: Um endereço usado para votação de finalidade rápida.
- Prova BLS: Uma assinatura BLS que verifica a propriedade do endereço de voto.
- Identidade: Para associar um novo validador a um existente da Beacon Chain. Isso é opcional, a menos que você esteja migrando um validador antigo.
Gerar Endereço de Consenso
Nota: Certifique-se de que está baixando o binário correto com base na plataforma da sua máquina, por exemplo, se estiver usando MacOS, você deve baixar o arquivo geth_mac. A seguir, nos referiremos ao binário como geth para simplificar.
Para criar uma nova conta para mineração, use o seguinte comando e defina uma senha para a conta.
geth account new --datadir ${DATA_DIR}
- DATA_DIR: O diretório onde você deseja armazenar seus arquivos keystore.
Este comando retornará o endereço público (ou seja, o endereço de consenso) e o caminho para sua chave privada. Por favor, faça backup do arquivo da chave!
Um exemplo de endereço de consenso é 0x4b3FFeDb3470D441448BF18310cAd868Cf0F44B5.
Se você já possui uma conta para mineração, pode usar a frase semente para recuperar a conta.
geth account import --datadir ${DATA_DIR}
Se você criou um validador na Beacon Chain, use um diferente para o endereço de consenso.
Gerar Endereço de Voto e Prova BLS
Para criar uma nova conta BLS, use o seguinte comando.
geth bls account new --datadir ${DATA_DIR}
- DATA_DIR: O diretório onde você deseja armazenar seus arquivos keystore.
Se você já tem uma chave de votação, crie uma carteira BLS e use o arquivo de chave para recuperá-la, usando o seguinte comando.
geth bls account import ${KEY_FILE} --datadir ${DATA_DIR}
- DATA_DIR: O arquivo de backup para restaurar a conta BLS.
Em seguida, você pode obter seu endereço de voto executando o seguinte comando.
geth bls account list --datadir ${DATA_DIR}
Um exemplo de endereço é b5fe571aa1b39e33c2735a184885f737a59ba689177f297cba67da94bea5c23dc71fd4deefe2c0d2d21851eb11081f69.
Em seguida, você pode obter sua prova BLS executando o seguinte comando.
geth bls account generate-proof --chain-id ${BOT_CHAIN_ID} ${OPEATOR_ADDRESS} ${VOTE_ADDRESS}
- BOT_CHAIN_ID: 677 para a mainnet da BOT, e 968 para a testnet da BOT.
- OPEATOR_ADDRESS: O endereço da sua conta, que será reconhecido como o operador do novo validador.
- VOTE_ADDRESS: O endereço de voto criado na última etapa.
Um exemplo de prova é 0xaf762123d031984f5a7ae5d46b98208ca31293919570f51ae2f0a03069c5e8d6d47b775faba94d88dbbe591c51c537d718a743b9069e63b698ba1ae15d9f6bf7018684b0a860a46c812716117a59c364e841596c3f0a484ae40a1178130b76a5
Criar identidade
Nota: Certifique-se de que está baixando o binário correto com base na plataforma da sua máquina, por exemplo, se estiver usando MacOS, você deve baixar o arquivo macos_binary.zip, e após descompactá-lo você encontrará botcli (para mainnet) e tbotcli (para testnet). A seguir, nos referiremos ao binário como botcli para simplificar.
Configurar conta
Se você tiver um mnemônico, pode importar sua conta executando o seguinte comando:
${workspace}/bin/botcli keys add <your-account-name> --recover --home ${HOME}/.botcli
Digite uma frase secreta para sua chave:
Repita a frase secreta:
Insira sua frase semente de recuperação: Você será solicitado a definir uma senha para esta conta e inserir seu mnemônico. Depois disso, você obterá as informações da sua conta.
${workspace}/bin/botcli: O caminho para o executável binário botcli. Para a testnet, você deve usar tbotcli em vez disso.${HOME}: A pasta onde você armazena as informações da sua conta.
Ou, se você tem uma Ledger, pode importar sua conta executando o seguinte comando:
${workspace}/bin/botcli keys add <your-account-name> --ledger --index ${index} --home ${HOME}/.botcli
${workspace}/bin/botcli: O caminho para o executável binário botcli. Para a testnet, você deve usar tbotcli em vez disso.${HOME}: A pasta onde você armazena as informações da sua conta.${index}: O índice da conta da Ledger que você deseja importar.
Obter identidade
Após a importação da conta, você pode obter sua identidade executando o seguinte comando:
Para chave local:
${workspace}/bin/botcli \ validator-ownership \ sign-validator-ownership \ --bot-operator-address ${NEW_VALIDATOR_OPERATOR_ADDR_ON_BOT} \ --from ${ACCOUNT_NAME} \ --chain-id ${BOT_CHAIN_ID} \
Para chave da Ledger:
${workspace}/bin/botcli \ validator-ownership \ sign-validator-ownership \ --bot-operator-address ${NEW_VALIDATOR_OPERATOR_ADDR_ON_BOT} \ --from ${BOT_OPERATOR_NAME} \ --chain-id ${CHAIN_ID} \ --ledger
${workspace}/bin/botcli: O caminho para o executável binário botcli. Para a testnet, você deve usar tbotcli em vez disso.--to ${NEW_VALIDATOR_OPERATOR_ADDR_ON_BOT}: Especifica o endereço BOT para o qual o novo endereço de operador de validador será mapeado.--from ${ACCOUNT_NAME}: Especifica o nome da conta a partir da qual a assinatura será realizada. A conta deve ser o operador do validador criado na Beacon Chain.
E você obterá a saída como esta:
TX JSON: {"type":"auth/StdTx","value":{"msg":[{"type":"migrate/ValidatorOwnerShip","value":{"bot_operator_address":"RXN7r5XZlaljqzp8msZvx6Y6124="}}],"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"Ahr+LlBMLgiUFkP75kIuJW1YHrsTy39GeOdV+IaTREDN"},"signature":"AL5mj52s0+tcdoEb6c6PAmqBixuv3XEmrLW3Y1kvUeYgG3RqVvWU/dIVcfxiHHwLGXlcn0X1v00jFrpLIsxtqA==","account_number":"0","sequence":"0"}],"memo":"","source":"0","data":null}}
Sign Message: {"account_number":"0","chain_id":"Bot-GGG-Ganges","data":null,"memo":"","msgs":[{"bot_operator_address":"0x45737baf95d995a963ab3a7c9ac66fc7a63ad76e"}],"sequence":"0","source":"0"}
Sign Message Hash: 0x8f7179e7969e497b5f3c006535e55c2fa5bea5d118a8008eddce3fccd1675673
Signature: 0x00be668f9dacd3eb5c76811be9ce8f026a818b1bafdd7126acb5b763592f51e6201b746a56f594fdd21571fc621c7c0b19795c9f45f5bf4d2316ba4b22cc6da8
PubKey: 0x021afe2e504c2e08941643fbe6422e256d581ebb13cb7f4678e755f886934440cd
A Assinatura é sua identidade para se associar ao validador antigo criado na BOT Chain.
Comissões

- Taxa: A taxa de comissão do validador.
- Taxa Máxima: A taxa de comissão máxima que o validador pode definir.
- Taxa Máxima de Alteração: A mudança máxima de taxa que o validador pode definir para cada época (1 dia).
Autodelegação

- Valor de Auto Delegação: O valor a delegar ao criar o validador. O número mínimo a inserir é 2001 - para o valor mínimo de auto delegação é 2000 BOT e um BOT extra para bloqueio em um endereço morto.
3. Enviando o formulário
Depois de preencher todas as informações necessárias, clique no botão Enviar para submeter a transação.
Nota: Após concluir estas etapas, o seu Node não tem garantia de se tornar um validador ativo. A seleção é baseada em um ranking que reflete o stake total de BOT, com apenas os N Nodes principais sendo escolhidos como validadores ativos. O número N é determinado pelo parâmetro “maxElectedValidators” dentro do StakeHubContract (0x0000000000000000000000000000000000002002).