Skip to main content
O método RPC getBlockProduction fornece informações sobre a produção de blocos no epoch atual ou em um intervalo de slots especificado. Pode ser usado para recuperar dados de todos os validadores ou de um identificador específico de validador. Isso é valioso para monitorar o desempenho dos validadores e entender os padrões de produção de blocos na rede.

Casos Comuns de Uso

  • Monitoramento de Desempenho do Validador: Acompanhe o número de blocos produzidos e slots de líder para um validador específico.
  • Análise de Desempenho do Epoch: Obtenha uma visão geral da produção de blocos em todos os validadores no epoch atual ou passado.
  • Identificação de Slots Perdidos: Veja se os validadores estão perdendo seus slots de líder atribuídos.
  • Verificações de Saúde da Rede: Reúna dados sobre a eficiência geral da produção de blocos.

Parâmetros de Solicitação

O método getBlockProduction aceita um objeto de configuração opcional com os seguintes parâmetros:
  1. commitment (string, opcional): Especifica o nível de compromisso a ser usado para a consulta. Se omitido, o compromisso padrão do nó é usado.
  2. range (objeto, opcional): Define um intervalo de slots para consulta.
    • start_slot (u64): O primeiro slot para buscar informações de produção de bloco (inclusivo).
    • end_slot (u64, opcional): O último slot para buscar informações de produção de bloco (inclusivo). Se omitido, a produção de bloco do epoch atual até o slot atual será retornada.
  3. identity (string, opcional): Uma chave pública codificada em base58 de uma identidade de validador. Se fornecida, a resposta incluirá apenas informações de produção de bloco para este validador específico. Se omitida, as informações para todos os validadores no intervalo especificado (ou epoch atual) são retornadas.
Nota: Pelo menos um dos parâmetros identity ou range deve ser fornecido. Se identity não for fornecido, o parâmetro range é obrigatório.

Estrutura de Resposta

O campo result da resposta JSON-RPC será um objeto contendo:
  • context (objeto):
    • slot (u64): O slot no qual a informação foi recuperada.
  • value (objeto):
    • validators (objeto): Um objeto onde as chaves são strings de identidade de validador (chaves públicas codificadas em base58), e os valores são objetos contendo:
      • leaderSlots (u64): O número de slots de líder atribuídos a este validador no intervalo/epoch consultado.
      • blocksProduced (u64): O número de blocos produzidos por este validador no intervalo/epoch consultado.
    • range (objeto):
      • start_slot (u64): O primeiro slot do intervalo consultado.
      • end_slot (u64): O último slot do intervalo consultado.

Dicas para Desenvolvedores

  • Entenda as Fronteiras do Epoch: Ao consultar por identity sem um range, os dados retornados são para o epoch atual até o último slot processado pelo nó. Se precisar de dados para um epoch passado completo para um validador específico, você precisará determinar start_slot e end_slot para esse epoch.
  • Disponibilidade de Dados do Nó: A gama de dados históricos de produção de blocos pode variar entre os nós RPC. Faixas de slots muito antigas podem não estar disponíveis em todos os nós.
  • Monitoramento de Desempenho: getBlockProduction é crucial para construir painéis ou alertas relacionados ao tempo de atividade do validador e taxas de sucesso de produção de blocos.
  • Combinando com getLeaderSchedule: Para uma análise mais profunda, você pode correlacionar dados de getBlockProduction com a saída de getLeaderSchedule para ver quais slots de líder específicos foram feitos ou perdidos.
  • Identidade vs. Todos os Validadores: Consultar sem uma identity pode retornar uma grande quantidade de dados, especialmente se nenhum range ou um range amplo for especificado. Esteja atento aos tamanhos de resposta e aos requisitos de processamento.

Exemplos

1. Obter Produção de Blocos para o Epoch Atual (Todos os Validadores)

Este exemplo busca dados de produção de blocos para todos os validadores no epoch atual.

2. Obter Produção de Blocos para um Validador Específico no Epoch Atual

Este exemplo busca a produção de blocos para uma identidade de validador específica no epoch atual.

3. Obter Produção de Blocos para um Intervalo de Slots Específico e Validador

Este exemplo busca dados de produção de blocos para um validador específico dentro de um intervalo de slots definido.
Este guia deve fornecer uma compreensão sólida de como usar o método RPC getBlockProduction para analisar a produção de blocos no Solana.

Métodos Relacionados

getLeaderSchedule

Obtenha a programação completa de líderes para correlacionar com os dados de produção

getVoteAccounts

Obtenha informações sobre todos os validadores de votação