Skip to main content
El método RPC 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.
Evita el procesamiento por lotes para mejorar el rendimientoEl procesamiento por lotes de métodos de archivo aumenta considerablemente la latencia. No se permiten lotes de más de 10 solicitudes.

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étodo getBlocks acepta los siguientes parámetros:
  1. start_slot (u64, obligatorio): El primer slot que se tendrá en cuenta para el rango (inclusive).
  2. 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_slot hasta el último slot confirmado.
    • El rango entre start_slot e end_slot (o el último slot si se omite end_slot) no debe superar los 500,000 slots.
  3. 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 campo result 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 slot 250000000 y el 250000010.

2. Obtener bloques desde un slot inicial hasta el último slot confirmado

Este ejemplo obtiene los slots de bloques confirmados desde 260000000 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 compromiso confirmed.

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_slot podrí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 commitment elegido y el nodo que consultes, especialmente para slots muy recientes.
  • Complemento de getBlock: getBlocks suele usarse como primer paso para identificar los slots de bloques relevantes antes de usar getBlock para recuperar todos los detalles de cada bloque de esa lista.
  • Alternativa de paginación: Dado que getBlocks tiene un límite de rango, si necesitas explorar una parte muy grande de la cadena, tendrás que hacer varias llamadas a getBlocks y dividir el rango total que deseas consultar en segmentos de 500,000 slots o menos.
Esta guía ofrece una descripción clara de cómo usar el método RPC 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