getBlockProduction proporciona información sobre la producción de bloques en la época actual o en un rango de slots especificado. Puedes usarlo para recuperar datos de todos los validadores o de la identidad de un validador específico. Esto resulta útil para monitorear el rendimiento de los validadores y comprender los patrones de producción de bloques en la red.
Casos de uso comunes
- Monitorear el rendimiento de los validadores: Haz un seguimiento del número de bloques producidos y los slots de líder de un validador específico.
- Analizar el rendimiento de una época: Obtén un resumen de la producción de bloques de todos los validadores en la época actual o en una época anterior.
- Identificar slots perdidos: Comprueba si los validadores pierden los slots de líder que tienen asignados.
- Comprobar el estado de la red: Recopila datos sobre la eficiencia general de la producción de bloques.
Parámetros de la solicitud
El métodogetBlockProduction acepta un objeto de configuración opcional con los siguientes parámetros:
commitment(cadena, opcional): Especifica el nivel de compromiso que se usará para la consulta. Si se omite, se usa el nivel de compromiso predeterminado del nodo.range(objeto, opcional): Define el rango de slots que se consultará.firstSlot(u64): El primer slot para el que se obtendrá información sobre la producción de bloques (inclusive).lastSlot(u64, opcional): El último slot para el que se obtendrá información sobre la producción de bloques (inclusive). Si se omite, se devolverá la producción de bloques de la época actual hasta el slot actual.
identity(cadena, opcional): Una clave pública de la identidad de un validador codificada en base58. Si se proporciona, la respuesta solo incluirá información sobre la producción de bloques de este validador específico. Si se omite, se devuelve información de todos los validadores del rango especificado (o de la época actual).
identity o range.firstSlot. Si no proporcionas identity, el parámetro range es obligatorio.
Estructura de la respuesta
El camporesult de la respuesta JSON-RPC será un objeto que contiene:
context(objeto):slot(u64): El slot en el que se recuperó la información.
value(objeto):byIdentity(objeto): Un objeto cuyas claves son cadenas de identidad de validadores (claves públicas codificadas en base58) y cuyos valores son objetos que contienen:leaderSlots(u64): El número de slots de líder asignados a este validador en el rango o la época consultados.blocksProduced(u64): El número de bloques producidos por este validador en el rango o la época consultados.
range(objeto):firstSlot(u64): El primer slot del rango consultado.lastSlot(u64): El último slot del rango consultado.
Consejos para desarrolladores
- Comprende los límites de las épocas: Cuando realices una consulta mediante
identitysin unrange, los datos devueltos corresponderán a la época actual hasta el último slot procesado por el nodo. Si necesitas datos de una época anterior completa para un validador específico, tendrás que determinar los valoresfirstSlotelastSlotde esa época. - Disponibilidad de datos del nodo: El rango de datos históricos sobre la producción de bloques puede variar entre nodos RPC. Es posible que los rangos de slots muy antiguos no estén disponibles en todos los nodos.
- Monitoreo del rendimiento:
getBlockProductiones fundamental para crear paneles o alertas relacionados con el tiempo de actividad de los validadores y las tasas de éxito de producción de bloques. - Combinación con
getLeaderSchedule: Para realizar un análisis más detallado, puedes correlacionar los datos degetBlockProductioncon el resultado degetLeaderSchedulepara ver qué slots de líder específicos se produjeron o se perdieron. - Identidad frente a todos los validadores: Una consulta sin
identitypuede devolver una gran cantidad de datos, en especial si no especificasrangeo si especificas unrangeamplio. Ten en cuenta el tamaño de las respuestas y los requisitos de procesamiento.
Ejemplos
1. Obtener la producción de bloques de la época actual (todos los validadores)
Este ejemplo obtiene datos sobre la producción de bloques de todos los validadores en la época actual.2. Obtener la producción de bloques de un validador específico en la época actual
Este ejemplo obtiene la producción de bloques de la identidad de un validador específico en la época actual.3. Obtener la producción de bloques de un rango de slots y un validador específicos
Este ejemplo obtiene datos sobre la producción de bloques de un validador específico dentro de un rango de slots definido.getBlockProduction para analizar la producción de bloques en Solana.
Métodos relacionados
getLeaderSchedule
Obtén la programación completa de líderes para correlacionarla con los datos de producción
getVoteAccounts
Obtén información sobre todos los validadores con derecho a voto