getLeaderSchedule retorna a atribuição de liderança na produção de blocos para validadores em um epoch específico. Entender a programação dos líderes pode ser útil para análise de rede, prever qual validador produzirá blocos em determinados momentos ou para ferramentas que interagem com líderes específicos.
Casos de Uso Comuns
- Monitoramento de Rede: Observe a distribuição de slots de líderes entre validadores em um epoch.
- Roteamento de Transações (Avançado): Algumas aplicações avançadas podem tentar rotear transações para o líder atual ou futuro, embora isso seja geralmente gerenciado pela rede e nós RPC.
- Análise de Desempenho de Validadores: Correlacione a programação dos líderes com a produção de blocos real para avaliar o tempo de atividade e desempenho dos validadores.
- Compreensão da Progressão do Epoch: Veja quais validadores são responsáveis por produzir blocos ao longo de um epoch.
Parâmetros de Solicitação
O método pode aceitar até dois parâmetros opcionais:slot(u64, opcional): Um número de slot. Se fornecido, a programação dos líderes para o epoch contendo este slot será buscada. Senullou omitido, a programação dos líderes para o epoch atual é buscada.config(objeto, opcional): Um objeto de configuração que pode conter:commitment(string, opcional): Especifica o nível de compromisso. Se não for fornecido, o compromisso padrão do nó é usado.identity(string, opcional): Uma chave pública codificada em base-58 de um validador. Se fornecido, a programação retornada incluirá apenas slots atribuídos a este validador específico.
Estrutura da Resposta
O camporesult da resposta JSON-RPC será:
null: Se o epoch correspondente aoslotsolicitado (ou epoch atual se nenhum slot for fornecido) não for encontrado ou sua programação de líderes não estiver disponível (por exemplo, para um epoch futuro, ainda não calculado).- Um objeto: Se uma programação for encontrada. Este objeto é um mapa onde:
- Cada chave é a chave pública codificada em base-58 (identidade) de um validador.
- O valor correspondente é um array de números. Cada número é um índice de slot relativo ao início do epoch para o qual esse validador é o líder.
1000 e um validador tem [0, 1, 5] em sua programação, isso significa que o validador é o líder para os slots 1000, 1001, e 1005.
Exemplos
1. Obter a Programação de Líderes para o Epoch Atual
Este exemplo busca a programação completa de líderes para o epoch atual.2. Obter a Programação de Líderes para um Validador Específico em um Epoch Específico (por Slot)
Este exemplo busca a programação de líderes para uma identidade de validador dada para o epoch que contém o slot200000.
Dicas para Desenvolvedores
- Limites do Epoch: A programação dos líderes é fixa para um epoch inteiro. Você pode usar
getEpochInfopara encontrar o início e o fim dos slots de um epoch. - Epochs Futuros: Solicitar a programação para um epoch muito no futuro pode retornar
nullse a rede ainda não a calculou. - Índices de Slot Relativos: Lembre-se de que os números de slot na resposta são relativos ao primeiro slot do epoch solicitado, não números absolutos na blockchain.
- Resposta Grande: Para uma programação completa de epoch sem filtro de identidade, a resposta pode ser grande, listando todos os validadores e seus slots atribuídos.
getLeaderSchedule para consultar as atribuições de produtores de blocos para qualquer epoch na rede Solana.
Métodos Relacionados
getEpochInfo
Obter informações do epoch atual, incluindo limites de slots
getSlotLeaders
Obter líderes para um intervalo específico de slots