getBlockHeight es una forma sencilla de consultar la altura de bloque actual de un nodo de Solana. La altura de bloque representa la cantidad de bloques que se han procesado desde el bloque génesis (slot 0).
Este método es útil para saber rápidamente cuánto ha avanzado la cadena o para consultar la altura del bloque más reciente en un nivel de compromiso específico.
Casos de uso comunes
- Monitorear el avance de la cadena: Llama a este método periódicamente para comprobar el avance de la cadena.
- Obtener una instantánea de la longitud de la cadena: Determina la cantidad total de bloques procesados hasta un punto determinado (según el nivel de compromiso).
- Cruzar referencias con otros datos: Usa la altura de bloque como punto de referencia cuando analices otros datos o eventos en cadena.
Parámetros
getBlockHeight puede recibir opcionalmente un objeto de configuración como primer parámetro (o llamarse sin parámetros para usar los valores predeterminados):
config(objeto, opcional): Un objeto de configuración con los siguientes campos:commitment(cadena, opcional): Especifica el nivel de compromiso que se usará para la consulta. El valor predeterminado esfinalized.finalized: El nodo consultará el bloque confirmado permanentemente más reciente. Usa preferentemente este valor para código nuevo.confirmed: En Alpenglow, equivale afinalized; se conserva por compatibilidad.processed: El nodo consultará su bloque más reciente. Ten en cuenta que el bloque podría no estar completo.
minContextSlot(número, opcional): El slot mínimo en el que se puede evaluar la solicitud. Esto garantiza que la altura de bloque devuelta provenga de un slot igual o mayor queminContextSlot.
finalized.
Consejos para desarrolladores
- Los niveles de compromiso importan:
processedpuede devolver una altura más reciente, pero transitoria. En Alpenglow,confirmedefinalizeddevuelven la misma altura confirmada permanentemente; usa preferentementefinalizedpara código nuevo. minContextSlotpara mantener la coherencia: UsaminContextSlotsi necesitas garantizar que la altura de bloque se consulte desde un estado que sea al menos tan reciente como un slot específico del que realizas seguimiento.- No es un número de slot: Recuerda que la altura de bloque es diferente del número de slot. Un slot es un período de tiempo y no todos los slots producen un bloque (estos se denominan slots omitidos). La altura de bloque es la cantidad de bloques que se produjeron realmente.
- Comprobación básica del estado de la cadena: Aunque es sencillo,
getBlockHeightpuede formar parte de una comprobación básica del estado o la sincronización de la cadena para tu aplicación o sistema de monitoreo.
Respuesta
El camporesult de la respuesta JSON-RPC será un único número:
blockHeight(número): La altura de bloque actual (u64) del nodo según el nivel de compromiso especificado.
Ejemplo: obtener la altura de bloque actual
Obtengamos la altura de bloque actual del RPC de Helius Devnet. Nota: ReemplazaYOUR_API_KEY con tu clave de API de Helius real en los siguientes ejemplos.