Skip to main content
O método RPC getBlocks permite que você recupere uma lista de números de slots de blocos confirmados entre um slot inicial especificado e um slot final opcional. Isso é útil quando você precisa saber quais blocos foram confirmados em um intervalo específico sem buscar o conteúdo completo de cada bloco.
Evite Agrupamento para Melhor DesempenhoAgrupar métodos de arquivamento aumenta significativamente a latência. Agrupamentos com mais de 10 solicitações não são permitidos.

Casos de Uso Comuns

  • Identificação de Blocos Confirmados em um Intervalo: Obtenha rapidamente uma lista de todos os slots de blocos que foram confirmados com sucesso entre dois pontos no livro-razão.
  • Iteração Através dos Blocos: Use a lista de slots retornada para buscar subsequentemente informações detalhadas para cada bloco usando getBlock, se necessário.
  • Auditoria Básica de Blocos: Verifique a presença de blocos dentro de um certo intervalo.

Parâmetros de Solicitação

O método getBlocks aceita os seguintes parâmetros:
  1. start_slot (u64, obrigatório): O primeiro slot a ser considerado para o intervalo (inclusive).
  2. end_slot (u64, opcional): O último slot a ser considerado para o intervalo (inclusive).
    • Se não fornecido, a consulta retornará blocos até o último slot confirmado a partir de start_slot.
    • O intervalo entre start_slot e end_slot (ou o último slot se end_slot for omitido) não deve exceder 500.000 slots.
  3. commitment (string, opcional): Especifica o nível de compromisso para a consulta. Se omitido, o compromisso padrão do nó é usado. Isso é passado como o único campo em um objeto de configuração como o último parâmetro.

Estrutura de Resposta

O campo result da resposta JSON-RPC será um array de inteiros u64. Cada inteiro no array representa um número de slot de bloco confirmado dentro do intervalo especificado.
  • Exemplo: [5, 6, 7, 8, 9, 10]

Exemplos

1. Obter Blocos dentro de um Intervalo de Slots Específico

Este exemplo busca a lista de slots de blocos confirmados entre o slot 250000000 e 250000010.

2. Obter Blocos de um Slot Inicial até o Último Slot Confirmado

Este exemplo busca slots de blocos confirmados a partir de 260000000 até o último bloco confirmado pelo nó (respeitando o limite de intervalo de 500.000 slots a partir do slot inicial).

3. Obter Blocos com um Nível de Compromisso Específico

Este exemplo busca blocos usando o nível de compromisso confirmed.

Dicas para Desenvolvedores

  • Limite de Intervalo: Lembre-se do limite de intervalo de 500.000 slots. Solicitar um intervalo maior resultará em um erro.
  • Disponibilidade de Dados do Nó: Nós podem não reter informações para todos os slots históricos. Valores muito antigos de start_slot podem retornar arrays vazios ou erros dependendo da configuração do nó e retenção do livro-razão.
  • Confirmação de Blocos: Este método retorna blocos confirmados. O conjunto exato de blocos pode variar ligeiramente dependendo do nível commitment escolhido e do nó que você consulta, especialmente para slots muito recentes.
  • Complemento para getBlock: getBlocks é frequentemente usado como um primeiro passo para identificar slots de blocos relevantes antes de usar getBlock para recuperar os detalhes completos dos blocos individuais dentro dessa lista.
  • Alternativa de Paginação: Como getBlocks tem um limite de intervalo, se você precisar examinar uma porção muito grande da cadeia, você precisará fazer várias chamadas para getBlocks, dividindo seu intervalo total desejado em segmentos de 500.000 slots ou menos.
Este guia fornece uma visão geral clara de como usar o método RPC getBlocks para listar slots de blocos confirmados na rede Solana.

Métodos Relacionados

getBlock

Obtenha informações detalhadas para um bloco específico

getBlocksWithLimit

Obtenha um número fixo de blocos a partir de um slot