Skip to main content
O método RPC getBlockHeight é uma maneira simples de consultar um nó Solana para obter sua altura de bloco atual. A altura do bloco representa o número de blocos que foram processados desde o bloco gênesis (slot 0). Este método é útil para entender rapidamente quão longe a cadeia progrediu ou para referenciar a altura do bloco mais recente em um nível de compromisso específico.

Casos de Uso Comuns

  • Monitoramento da Progressão da Cadeia: Chame este método periodicamente para ver a cadeia avançando.
  • Obtendo um Snapshot do Comprimento da Cadeia: Determine o número total de blocos processados até um certo ponto (com base no compromisso).
  • Referenciamento Cruzado com Outros Dados: Use a altura do bloco como ponto de referência ao analisar outros dados ou eventos on-chain.

Parâmetros

getBlockHeight pode opcionalmente aceitar um objeto de configuração como seu primeiro parâmetro (ou ser chamado sem parâmetros para usar padrões):
  1. config (objeto, opcional): Um objeto de configuração com os seguintes campos:
    • commitment (string, opcional): Especifica o nível de compromisso a ser usado na consulta. O padrão é finalized.
      • finalized: O nó consultará o bloco mais recente confirmado pela super maioria do cluster como tendo atingido o bloqueio máximo.
      • confirmed: O nó consultará o bloco mais recente que foi votado por uma super maioria do cluster.
      • processed: O nó consultará seu bloco mais recente. Note que o bloco pode não estar completo.
    • minContextSlot (número, opcional): O slot mínimo que a solicitação pode ser avaliada. Isso garante que a altura do bloco retornada seja de um slot igual ou maior que minContextSlot.
Se nenhum parâmetro for fornecido, o método geralmente usa o padrão de compromisso finalized.

Dicas para Desenvolvedores

  • Os Níveis de Compromisso Importam: A altura do bloco retornada pode variar com base no nível commitment especificado. finalized fornece a altura mais estável, enquanto processed pode dar uma altura mais atual, mas potencialmente transitória.
  • minContextSlot para Consistência: Use minContextSlot se precisar garantir que a altura do bloco seja consultada a partir de um estado pelo menos tão recente quanto um slot específico que você está acompanhando.
  • Não é um Número de Slot: Lembre-se de que a altura do bloco é diferente do número do slot. Um slot é um período de tempo, e nem todo slot produz um bloco (esses são chamados de slots ignorados). A altura do bloco é a contagem de blocos reais produzidos.
  • Verificação Básica de Saúde da Cadeia: Embora simples, getBlockHeight pode ser parte de uma verificação básica de saúde ou sincronização da cadeia para seu aplicativo ou sistema de monitoramento.

Resposta

O campo result da resposta JSON-RPC será um único número:
  • blockHeight (número): A altura atual do bloco (u64) do nó de acordo com o nível de compromisso especificado.
Exemplo de Resposta JSON:
Este valor representa o número de blocos na cadeia mais longa desde o bloco gênesis (slot 0) até a cabeça atual da cadeia, conforme visto pelo nó consultado.

Exemplo: Obtendo a Altura Atual do Bloco

Vamos buscar a altura atual do bloco do Helius Devnet RPC. Nota: Substitua YOUR_API_KEY pela sua chave de API Helius real nos exemplos abaixo.