Skip to main content
O método RPC getVoteAccounts retorna informações sobre todas as contas de votação (validadores) no banco atual. Ele distingue entre validadores current (ativos) e delinquent e fornece detalhes sobre sua participação, atividade de votação e identidade.

Casos de Uso Comuns

  • Monitoramento de Validadores: Rastreamento do status, participação e desempenho dos validadores na rede.
  • Painéis de Staking: Exibição de informações sobre validadores disponíveis para usuários que desejam delegar seu SOL.
  • Análise de Saúde da Rede: Avaliação da saúde geral e descentralização da rede, examinando a distribuição da participação e a atividade dos validadores.
  • Identificação de Validadores Delinquentes: Encontrar validadores que não estão participando ativamente do consenso.

Parâmetros da Solicitação

Este método aceita um objeto de configuração opcional com os seguintes campos:
  1. commitment (string, opcional): Especifica o nível de compromisso para a consulta (por exemplo, "finalized", "confirmed", "processed"). Se omitido, o compromisso padrão do nó é utilizado.
  2. votePubkey (string, opcional): Se fornecido, os resultados serão filtrados para incluir apenas o endereço de conta de votação do validador especificado (codificado em base-58).
  3. keepUnstakedDelinquents (booleano, opcional): O padrão é false. Se definido como true, a lista delinquent incluirá validadores sem participação ativada. Caso contrário, eles serão filtrados.
  4. delinquentSlotDistance (u64, opcional): Especifica quantos slots um validador deve estar atrás do topo do livro razão para ser considerado delinquente. Se não especificado, o nó usa um valor padrão.

Estrutura de Resposta

O campo result na resposta JSON-RPC é um objeto contendo dois arrays:
  • current: Um array de objetos, onde cada objeto representa uma conta de votação ativa com os seguintes campos:
    • votePubkey (string): O endereço da conta de votação (codificado em base-58).
    • nodePubkey (string): A chave pública de identidade do nó validador (codificado em base-58).
    • activatedStake (u64): A quantidade de participação, em lamports, delegada a esta conta de votação e ativa no epoch atual.
    • epochVoteAccount (booleano): true se a conta de votação esteve ativa pelo menos uma vez durante o epoch atual.
    • commission (número): A porcentagem de comissão (0-100) cobrada pelo validador.
    • lastVote (u64): O número mais recente de slot em que este validador votou.
    • rootSlot (u64): O último slot que o nó considerou ser uma raiz (um bloco totalmente confirmado que não será revertido).
    • epochCredits (array): Um array de arrays, onde cada array interno contém [epoch, credits_earned_in_epoch, previous_total_credits].
  • delinquent: Um array de objetos, com a mesma estrutura de current, representando validadores considerados delinquentes pelo nó.
Exemplo de Trecho de Resposta:

Exemplos de Código

Dicas para Desenvolvedores

  • Resposta Grande: Este método pode retornar uma grande quantidade de dados, especialmente em redes com muitos validadores, como a Mainnet Beta. Fique atento ao tamanho da resposta e ao tempo de processamento.
  • Definição de Delinquência: A definição de “delinquente” pode depender do delinquentSlotDistance e da perspectiva do nó. Um validador pode parecer delinquente em um nó, mas não em outro, se a visão deles do topo do livro razão for diferente.
  • Ativação de Participação: activatedStake reflete a participação que está ativa no epoch atual. A participação leva tempo para ativar e desativar.
  • Créditos de Epoch: epochCredits fornece um histórico do desempenho de um validador em ganhar créditos por votação.
Este guia cobre o método RPC getVoteAccounts, permitindo que você consulte e entenda informações sobre validadores na rede Solana.