getLeaderSchedule devuelve la asignación del liderazgo de producción de bloques a los validadores para una época específica. Comprender el calendario de líderes puede ser útil para analizar la red, predecir qué validador producirá bloques en determinados momentos o desarrollar herramientas que interactúen con líderes específicos.
Casos de uso comunes
- Monitoreo de la red: Observa la distribución de los slots de líder entre los validadores de una época.
- Enrutamiento de transacciones (avanzado): Algunas aplicaciones avanzadas pueden intentar enrutar transacciones al líder actual o al próximo, aunque generalmente la red y los nodos RPC se encargan de esto.
- Análisis del rendimiento de validadores: Correlaciona el calendario de líderes con la producción real de bloques para evaluar el tiempo de actividad y el rendimiento de los validadores.
- Comprensión del avance de una época: Consulta qué validadores son responsables de producir bloques durante una época.
Parámetros de solicitud
El método puede aceptar hasta dos parámetros opcionales:slot(u64, opcional): Un número de slot. Si lo proporcionas, se obtendrá el calendario de líderes de la época que contiene este slot. Si esnullo se omite, se obtiene el calendario de líderes de la época actual.config(objeto, opcional): Un objeto de configuración que puede contener:commitment(cadena, opcional): Especifica el nivel de compromiso. Si no lo proporcionas, se usa el compromiso predeterminado del nodo.identity(cadena, opcional): Una clave pública de un validador codificada en base 58. Si la proporcionas, el calendario devuelto solo incluirá los slots asignados a este validador específico.
Estructura de la respuesta
El camporesult de la respuesta JSON-RPC será:
null: Si no se encuentra la época correspondiente alslotsolicitado (o la época actual si no se proporciona ningún slot) o si su calendario de líderes no está disponible (por ejemplo, para una época futura que aún no se ha calculado).- Un objeto: Si se encuentra un calendario. Este objeto es un mapa donde:
- Cada clave es la clave pública codificada en base 58 (identidad) de un validador.
- El valor correspondiente es un arreglo de números. Cada número es un índice de slot relativo al inicio de la época para el que ese validador es el líder.
1000 y un validador tiene [0, 1, 5] en su calendario, significa que ese validador es el líder de los slots 1000, 1001 y 1005.
Ejemplos
1. Obtener el calendario de líderes de la época actual
Este ejemplo obtiene el calendario de líderes completo de la época actual.2. Obtener el calendario de líderes de un validador específico en una época específica (por slot)
Este ejemplo obtiene el calendario de líderes de una identidad de validador determinada para la época que contiene el slot200000.
Consejos para desarrolladores
- Límites de las épocas: El calendario de líderes permanece fijo durante toda una época. Puedes usar
getEpochInfopara encontrar los slots de inicio y fin de una época. - Épocas futuras: Solicitar el calendario de una época muy lejana en el futuro puede devolver
nullsi la red aún no lo ha calculado. - Índices de slot relativos: Recuerda que los números de slot de la respuesta son relativos al primer slot de la época solicitada, no números de slot absolutos de la blockchain.
- Respuesta grande: Para el calendario completo de una época sin un filtro de identidad, la respuesta puede ser grande e incluir todos los validadores y los slots que tienen asignados.
getLeaderSchedule y consultar las asignaciones de productores de bloques de cualquier época determinada en la red de Solana.
Métodos relacionados
getEpochInfo
Obtén información sobre la época actual, incluidos los límites de slots
getSlotLeaders
Obtén los líderes de un intervalo específico de slots