getBlocks te permite recuperar una lista de números de slot de bloques confirmados entre un slot inicial especificado y un slot final opcional. Esto resulta útil cuando necesitas saber qué bloques se confirmaron en un rango específico sin obtener el contenido completo de cada bloque.
Casos de uso comunes
- Identificar bloques confirmados en un rango: Obtén rápidamente una lista de todos los slots de bloques que se confirmaron correctamente entre dos puntos del libro mayor.
- Recorrer bloques: Usa la lista de slots devuelta para obtener después información detallada de cada bloque mediante
getBlock, si es necesario. - Auditoría básica de bloques: Verifica la presencia de bloques dentro de un rango determinado.
Parámetros de solicitud
El métodogetBlocks acepta los siguientes parámetros:
start_slot(u64, obligatorio): El primer slot que se tendrá en cuenta para el rango (inclusive).end_slot(u64, opcional): El último slot que se tendrá en cuenta para el rango (inclusive).- Si no se proporciona, la consulta devolverá los bloques desde
start_slothasta el último slot confirmado. - El rango entre
start_sloteend_slot(o el último slot si se omiteend_slot) no debe superar los 500,000 slots.
- Si no se proporciona, la consulta devolverá los bloques desde
commitment(string, opcional): Especifica el nivel de compromiso de la consulta. Si se omite, se usa el nivel de compromiso predeterminado del nodo. Se pasa como el único campo de un objeto de configuración en el último parámetro.
Estructura de la respuesta
El camporesult de la respuesta JSON-RPC será un arreglo de enteros u64. Cada entero del arreglo representa el número de slot de un bloque confirmado dentro del rango especificado.
- Ejemplo:
[5, 6, 7, 8, 9, 10]
Ejemplos
1. Obtener bloques dentro de un rango específico de slots
Este ejemplo obtiene la lista de slots de bloques confirmados entre el slot250000000 y el 250000010.
2. Obtener bloques desde un slot inicial hasta el último slot confirmado
Este ejemplo obtiene los slots de bloques confirmados desde260000000 hasta el último bloque confirmado por el nodo (respetando el límite de rango de 500,000 slots desde el slot inicial).
3. Obtener bloques con un nivel de compromiso específico
Este ejemplo obtiene bloques mediante el nivel de compromisoconfirmed.
Consejos para desarrolladores
- Límite del rango: Recuerda el límite de rango de 500,000 slots. Solicitar un rango mayor generará un error.
- Disponibilidad de los datos del nodo: Es posible que los nodos no conserven información de todos los slots históricos. Los valores muy antiguos de
start_slotpodrían devolver arreglos vacíos o errores, según la configuración del nodo y la retención del libro mayor. - Confirmación de bloques: Este método devuelve bloques confirmados. El conjunto exacto de bloques puede variar ligeramente según el nivel de
commitmentelegido y el nodo que consultes, especialmente para slots muy recientes. - Complemento de
getBlock:getBlockssuele usarse como primer paso para identificar los slots de bloques relevantes antes de usargetBlockpara recuperar todos los detalles de cada bloque de esa lista. - Alternativa de paginación: Dado que
getBlockstiene un límite de rango, si necesitas explorar una parte muy grande de la cadena, tendrás que hacer varias llamadas agetBlocksy dividir el rango total que deseas consultar en segmentos de 500,000 slots o menos.
getBlocks para enumerar slots de bloques confirmados en la red de Solana.
Métodos relacionados
getBlock
Obtén información detallada de un bloque específico
getBlocksWithLimit
Obtén una cantidad fija de bloques a partir de un slot