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.
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étodogetBlocks aceita os seguintes parâmetros:
start_slot(u64, obrigatório): O primeiro slot a ser considerado para o intervalo (inclusive).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_sloteend_slot(ou o último slot seend_slotfor omitido) não deve exceder 500.000 slots.
- Se não fornecido, a consulta retornará blocos até o último slot confirmado a partir de
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 camporesult 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 slot250000000 e 250000010.
2. Obter Blocos de um Slot Inicial até o Último Slot Confirmado
Este exemplo busca slots de blocos confirmados a partir de260000000 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 compromissoconfirmed.
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_slotpodem 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
commitmentescolhido 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 usargetBlockpara recuperar os detalhes completos dos blocos individuais dentro dessa lista. - Alternativa de Paginação: Como
getBlockstem um limite de intervalo, se você precisar examinar uma porção muito grande da cadeia, você precisará fazer várias chamadas paragetBlocks, dividindo seu intervalo total desejado em segmentos de 500.000 slots ou menos.
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