Skip to main content
El monitoreo de slots y bloques te permite observar el consenso de la red Solana, los tiempos de producción de bloques y su estado general. Con LaserStream, puedes rastrear el avance de los slots, la finalización de bloques y las métricas de rendimiento de la red en tiempo real mediante el SDK de helius-laserstream.
Requisitos previos: Esta guía supone que completaste el inicio rápido de gRPC de LaserStream y tienes una clave de API.

Tipos de monitoreo

Rastrea el avance del consenso de la redMonitorea el avance de los slots en los distintos niveles de compromiso:
Los datos del slot incluyen: número de slot, slot principal, estado de compromiso (processed / confirmed / finalized) e información del líder.
Ideal para: monitorear el estado de la red, analizar los tiempos de los slots y rastrear el consenso.

Ejemplos prácticos

Ejemplo 1: Monitor del estado de la red

Rastrea el avance de los slots e identifica problemas en la red:

Ejemplo 2: Monitor de producción de bloques

Rastrea la producción de bloques y el volumen de transacciones:

Ejemplo 3: Monitor de bloques filtrados

Monitorea los bloques que contienen actividad de programas específicos:

Estructuras de datos

Cada slot representa aproximadamente 400 ms de tiempo de red. Los tres niveles de compromiso reflejan garantías cada vez más sólidas: processed (inicial), confirmed (votado por una supermayoría), finalized (irreversible).
Los campos u64 (slot, parent) llegan como cadenas para conservar la precisión más allá de Number.MAX_SAFE_INTEGER. Conviértelos con Number(slot.slot) cuando necesites realizar operaciones aritméticas. status es una enumeración numérica; usa CommitmentLevel[slot.status] para obtener el nombre legible.
Los campos numéricos (slot, parentSlot, executedTransactionCount, entriesCount y los valores dentro de blockHeight e blockTime) se emiten como cadenas porque son u64 en el proto subyacente. Envuélvelos en Number(...) para realizar operaciones aritméticas o comparaciones.
Los bloques completos pueden ocupar varios MB con todas las transacciones y cuentas. Se aplica la misma convención de representar u64 como cadena: envuelve los campos numéricos con Number(...) para realizar operaciones aritméticas. Dentro de cada transacción, meta.fee, meta.preBalances, meta.postBalances, etc., también son cadenas.

Consideraciones de rendimiento

Slot Monitoring

Ligero: ancho de banda muy bajo y sobrecarga de procesamiento mínima. Adecuado para paneles de monitoreo.

Block Metadata

Equilibrado: ancho de banda moderado e información a nivel de bloque sin todos los datos. Adecuado para análisis.

Full Blocks

Volumen alto: datos completos de las transacciones que requieren un procesamiento sólido. Úsalos siempre con filtros.

Filtered Blocks

Optimizado: usa accountInclude y desactiva los includeAccounts/includeEntries que no necesites.

Casos de uso

Rastrea el estado y el rendimiento de la red: tiempos de los slots, congestión y consenso.

Manejo de errores

Síntoma: Hay brechas en el avance de los slots.Causas: Problemas de conectividad de red, tiempo de inactividad de los validadores o retrasos en el procesamiento del cliente.Soluciones: Rastrea las brechas entre slots y genera alertas; implementa lógica de recuperación mediante la repetición histórica; monitorea el estado de la conexión.
Síntoma: Hay demasiados datos de bloques.Soluciones: Usa metadatos de bloques en lugar de bloques completos; aplica filtros de cuentas; desactiva las inclusiones innecesarias (entradas y cuentas); procesa los datos de forma asíncrona.
Síntoma: Los tiempos de los slots son inconsistentes.Análisis: Calcula promedios móviles; rastrea las desviaciones; monitorea las métricas de estado de la red; correlaciónalas con el rendimiento de los validadores.

Prácticas recomendadas

Directrices para producción:
  • Comienza con los metadatos — usa metadatos de bloques antes de suscribirte a bloques completos
  • Aplica filtros — usa accountInclude para descartar datos irrelevantes
  • Monitorea los tiempos — rastrea el avance de los slots como indicador temprano del estado de la red
  • Maneja las brechas — combínalo con la repetición histórica para rellenar automáticamente los slots faltantes al restablecer la conexión
  • Procesa de forma asíncrona — no bloquees el procesamiento del stream con cálculos pesados
  • Adapta el compromiso a tus necesidades — processed para interfaces de baja latencia, confirmed/finalized para escrituras de estado

Próximos pasos

Transaction Monitoring

Filtra transacciones por programa, cuenta, voto o estado de error.

Stream Pump AMM Data

Ejemplo práctico: monitorea transacciones de Pump AMM.

Decoding Transaction Data

Analiza los payloads binarios transactionUpdate y conviértelos en transacciones de Solana legibles.

Yellowstone protocol reference

El mismo flujo de trabajo con el protocolo gRPC de Yellowstone sin procesar.