O método RPC getBlockTime fornece a estimativa de tempo de produção de um bloco especificado, identificado por seu número de slot. O tempo é retornado como um timestamp Unix (segundos desde a época Unix).
Este método é útil quando você precisa correlacionar a produção de blocos com o tempo do mundo real.
Evite Agrupamento para Melhor DesempenhoAgrupar métodos de arquivamento aumenta significativamente a latência. Grupos com mais de 10 requisições não são permitidos.
Casos de Uso Comuns
- Marcação Temporal de Eventos: Determine quando um bloco específico foi produzido para marcar eventos on-chain.
- Análise de Intervalos de Produção de Blocos: Calcule a diferença de tempo entre blocos (embora para análises mais detalhadas, outros métodos possam ser combinados).
- Correlacionando Dados Off-Chain: Alinhe eventos ou dados off-chain com a atividade on-chain, combinando os tempos de produção de blocos.
Parâmetros de Requisição
O método getBlockTime leva um único parâmetro:
slot (u64, obrigatório): O número de slot do bloco para o qual se deseja obter a estimativa do tempo de produção.
Estrutura de Resposta
O campo result da resposta JSON-RPC será:
timestamp (i64): O tempo estimado de produção como um timestamp Unix (segundos desde a época Unix).
null: Se o timestamp não estiver disponível para o bloco especificado (por exemplo, o bloco é muito antigo e os dados foram eliminados, ou o bloco foi pulado e não tem timestamp associado).
Exemplos
1. Obter o Tempo Estimado de um Bloco Específico
Este exemplo busca o tempo estimado de produção para um slot específico. Lembre-se de substituir SLOT_NUMBER_TO_QUERY por um slot real, recente e confirmado na rede que você está visando (por exemplo, Mainnet Beta ou Devnet).
Dicas para Desenvolvedores
- Disponibilidade de Timestamps: Timestamps podem não estar disponíveis para todos os blocos, especialmente os muito antigos ou slots que foram pulados. Nesses casos, o método retorna
null.
- Estimativa: O tempo é uma estimativa. É derivado da média ponderada por participação dos timestamps de Votação de validadores. Embora geralmente preciso, não é um timestamp garantido e criptograficamente seguro para cada bloco individual da mesma forma que um hash de bloco é.
- Dependência de Nó: A disponibilidade e precisão podem variar ligeiramente dependendo do nó RPC consultado, especialmente para blocos muito recentes (ainda não finalizados).
Este guia explica como usar getBlockTime para recuperar o timestamp estimado de produção para qualquer bloco dado na rede Solana.