getEpochSchedule retorna as informações de agendamento de epoch da configuração de gênesis do cluster. Esses dados definem como os epochs são estruturados, incluindo seu comprimento e como o cronograma de líderes é determinado em relação ao início de um epoch.
Compreender o agendamento de epochs é crucial para aplicações que precisam se alinhar com eventos de rede, prever limites de epochs ou entender o mecanismo de rotação de líderes.
Casos de Uso Comuns
- Previsão de Limites de Epochs: Determine o número de slots em um epoch para estimar quando o epoch atual terminará e o próximo começará.
- Cálculo do Cronograma de Líderes: Entenda o
leaderScheduleSlotOffsetpara saber com quanta antecedência os cronogramas de líderes são gerados para um próximo epoch. - Análise da Inicialização da Rede: Observe
warmup,firstNormalEpochefirstNormalSlotpara entender a fase inicial de aumento dos comprimentos dos epochs do cluster, se aplicável. - Construção de Ferramentas de Monitoramento de Rede: Use essas informações para exibir o tempo e a progressão do epoch com precisão.
Parâmetros de Solicitação
Este método não utiliza nenhum parâmetro.Estrutura de Resposta
O camporesult da resposta JSON-RPC será um objeto contendo os seguintes campos:
slotsPerEpoch(u64): O número máximo de slots em cada epoch (após o período de aquecimento, se houver).leaderScheduleSlotOffset(u64): O número de slots antes do início de um epoch para o qual o cronograma de líderes para esse epoch é gerado.warmup(boolean): Um booleano indicando se o cluster tem um período de aquecimento onde os epochs começam mais curtos e aumentam gradualmente de comprimento.firstNormalEpoch(u64): O número do primeiro epoch que possui o comprimento completoslotsPerEpoch. Isso é relevante sewarmupfor verdadeiro.firstNormalSlot(u64): O índice do slot do primeiro slot nofirstNormalEpoch. Isso é relevante sewarmupfor verdadeiro.
Exemplos
1. Obter o Cronograma de Epoch do Cluster
Este exemplo busca o cronograma de epoch.Dicas para Desenvolvedores
- Informação Estática: O cronograma de epoch é determinado pela configuração de gênesis do cluster e geralmente não muda, a menos que haja uma atualização significativa na rede ou o lançamento de um novo cluster com parâmetros diferentes.
- Mainnet vs. Testnet/Devnet: O cronograma de epoch, particularmente
slotsPerEpoche os parâmetros de aquecimento, podem diferir significativamente entre Mainnet Beta, Testnet e Devnet. Sempre consulte o cluster específico pelo qual você está interessado. - Período de Aquecimento: Se
warmupfortrue, os epochs antes defirstNormalEpochterão menos slots queslotsPerEpoch. O cálculo exato para comprimentos de epoch de aquecimento é2^N * MINIMUM_SLOTS_PER_EPOCHonde N é o número do epoch (começando do 0) atéfirstNormalEpochser alcançado. OMINIMUM_SLOTS_PER_EPOCHé tipicamente 32.
getEpochSchedule para entender a temporização e a estrutura fundamentais dos epochs dentro de um cluster Solana.