¿Qué es LaserStream WebSocket?
LaserStream WebSocket es la variante de LaserStream basada en el protocolo WebSocket. Ofrece los métodos estándar de suscripción JSON-RPC de Solana (accountSubscribe, programSubscribe, logsSubscribe, signatureSubscribe, slotSubscribe, …) junto con extensiones específicas de Helius como transactionSubscribe para aplicar filtros avanzados, todo en el mismo punto de conexión unificado wss://mainnet.helius-rpc.com y con la misma infraestructura de LaserStream que el producto gRPC.
WebSocket te proporciona una conexión persistente y en tiempo real: en lugar de consultar repetidamente «¿cambió algo?», la blockchain te notifica en cuanto ocurre algo.
Real-Time Updates
Recibe notificaciones instantáneas cuando cambien las cuentas de Solana, se produzcan transacciones o se generen bloques nuevos
Efficient Resource Usage
Una conexión persistente en lugar de consultar mediante cientos de solicitudes HTTP
Low Latency
Hasta 200 ms más rápido que los WebSocket estándar basados en RPC de Agave, mediante LaserStream
Helius Extensions
transactionSubscribe y una versión mejorada de accountSubscribe para aplicar filtros avanzados además de los métodos estándar de SolanaPuntos de conexión
Los WebSocket, tanto los métodos estándar de Solana como las extensiones específicas de Helius, están disponibles desde un único punto de conexión unificado por red: Mainnet:wss://mainnet.helius-rpc.com/?api-key=<API_KEY>
Devnet: wss://devnet.helius-rpc.com/?api-key=<API_KEY>
Gatekeeper (Beta)
Para probar nuestra opción de WebSocket más rápida, usa el nuevo punto de conexión de Gatekeeper (Beta):wss://beta.helius-rpc.com/?api-key=<API_KEY>
Precios y medición
El uso de WebSocket se mide a razón de 2 créditos por cada 0.1 MB de datos transmitidos sin comprimir. Abrir una conexión cuesta 1 crédito. Para cargas de trabajo de gran volumen con planes Professional, los complementos de datos ofrecen asignaciones mensuales de datos (5 TB–100 TB) a costos predecibles. Los complementos de datos pueden aplicarse a LaserStream y WebSocket.Los métodos específicos de Helius
transactionSubscribe e accountSubscribe (con filtros de Helius) requieren un plan Developer, Business o Professional. Los métodos estándar de Solana como programSubscribe, logsSubscribe e signatureSubscribe están disponibles en todos los planes.Conceptos principales
Tipos de suscripción
Account Subscriptions
Account Subscriptions
Supervisa los cambios en cuentas específicas, como saldos de billeteras, cuentas de tokens o datos de programas.Casos de uso:
- Seguimiento del saldo de billeteras
- Supervisión de cuentas de tokens
- Cambios de estado en contratos inteligentes
- Actualizaciones de propiedad de NFT
Program Subscriptions
Program Subscriptions
Observa todas las cuentas pertenecientes a un programa específico para detectar cualquier cambio.Casos de uso:
- Supervisión de operaciones en DEX
- Seguimiento de protocolos DeFi
- Actividad de mercados de NFT
- Cambios en activos de juegos
Transaction Subscriptions
Transaction Subscriptions
Recibe notificaciones cuando se confirmen transacciones específicas o cuando las transacciones mencionen determinadas cuentas.Casos de uso:
- Confirmaciones de pagos
- Seguimiento del estado de transacciones
- Aprobaciones multifirma
- Supervisión de la ejecución de contratos
Slot Subscriptions
Slot Subscriptions
Supervisa el avance y la finalidad de la blockchain a nivel de slot.Casos de uso:
- Aplicaciones de exploración de bloques
- Supervisión del estado de la red
- Seguimiento del consenso
- Análisis de rendimiento
Niveles de compromiso
Comprender los niveles de compromiso es fundamental para crear aplicaciones confiables:- Processed
- Confirmed
- Finalized
Más rápido - Un validador procesó la transacción, pero aún no está confirmada
- Latencia: ~400 ms
- Riesgo: Puede descartarse o reordenarse
- Úsalo para: Actualizaciones de la interfaz de usuario en tiempo real (con precaución)
¿Quieres obtener más información sobre los niveles de compromiso? Lee nuestra completa publicación del blog: Cómo comprender los niveles de compromiso de Solana
Métodos WebSocket disponibles
Helius admite el conjunto completo de métodos de suscripción WebSocket de Solana, además de extensiones específicas de Helius. Todos los métodos comparten el mismo punto de conexiónwss://mainnet.helius-rpc.com.
Extensiones de Helius
Dos métodos ofrecen filtros más completos que el estándar de Solana:transactionSubscribe— suscríbete a transacciones que coincidan con listas de cuentas incluidas, excluidas u obligatorias, indicadores de voto o fallo y una firma específicaaccountSubscribe— Helius agrega filtros avanzados a la estructura estándar deaccountSubscribe
Métodos estándar de Solana
accountSubscribe, blockSubscribe, logsSubscribe, programSubscribe, rootSubscribe, signatureSubscribe, slotSubscribe, slotsUpdatesSubscribe, voteSubscribe y sus pares *Unsubscribe correspondientes.
Complete API Reference
Explora los más de 18 métodos WebSocket. Cada método incluye parámetros detallados, formatos de respuesta y ejemplos.
Cómo implementar la lógica de reconexión
Las conexiones WebSocket pueden interrumpirse por varios motivos: problemas de red, mantenimiento del servidor o interrupciones temporales. Las aplicaciones de producción deben implementar una lógica de reconexión para garantizar la confiabilidad.Por qué se producen las desconexiones
Network Issues
Network Issues
- Problemas de conectividad a Internet
- Cambios de red Wi-Fi en dispositivos móviles
- Tiempos de espera del firewall corporativo
- Cambios de enrutamiento del proveedor de Internet
Server-Side Events
Server-Side Events
- Periodos de mantenimiento programado
- Reinicios del balanceador de carga
- Actualizaciones de nodos RPC
- Protección temporal contra sobrecargas
Client-Side Issues
Client-Side Issues
- Pestañas del navegador en segundo plano
- Suspensión de aplicaciones móviles
- Suspensión o hibernación de la computadora
- Fallos o reinicios de procesos
Cómo detectar desconexiones
- JavaScript/Browser
- Node.js
Estrategias de reconexión
- Exponential Backoff
- Circuit Breaker Pattern
Cómo probar la lógica de reconexión
- Network Simulation
- Automated Testing
Solución de problemas
Connection Failed
Connection Failed
Síntomas: WebSocket no puede establecer la conexión inicialSoluciones:
- Verifica que tu clave de API sea correcta y tenga créditos suficientes
- Comprueba el formato de la URL del punto de conexión:
wss://mainnet.helius-rpc.com?api-key=YOUR_KEY - Asegúrate de que tu firewall permita conexiones WebSocket en el puerto 443
- Primero, prueba con un ping sencillo para verificar la conectividad básica
Frequent Disconnections
Frequent Disconnections
Síntomas: La conexión se interrumpe cada pocos minutosSoluciones:
- Los WebSocket tienen un temporizador de inactividad de 10 minutos. Envía un ping al menos una vez por minuto para mantener activa la conexión (consulta los ejemplos de reconexión anteriores y las preguntas frecuentes sobre WebSocket)
- Implementa correctamente el latido ping/pong (como se muestra en los ejemplos de reconexión anteriores)
- Comprueba la estabilidad de tu red y la configuración del firewall corporativo
- Supervisa la cantidad de suscripciones; un exceso puede causar inestabilidad
- Verifica que gestiones correctamente el ciclo de vida de la conexión
Missing Messages
Missing Messages
Síntomas: No se reciben las actualizaciones de suscripción esperadasSoluciones:
- Verifica que tu suscripción esté confirmada (revisa la respuesta)
- Asegúrate de que la cuenta o el programa que supervisas tenga actividad real
- Supervisa el estado de tu conexión; los mensajes perdidos suelen indicar desconexiones
High Latency
High Latency
Síntomas: Entrega lenta de mensajes y retrasos en las actualizacionesSoluciones:
- Usa el nivel de compromiso “confirmed” en lugar de “finalized”
- Reduce la cantidad de suscripciones activas
- Optimiza tu lógica de procesamiento de mensajes
- Considera usar varias conexiones para distribuir la carga
- Comprueba la calidad de tu conexión de red
Memory Leaks
Memory Leaks
Síntomas: El uso de memoria de la aplicación aumenta con el tiempoSoluciones:
- Implementa una limpieza adecuada de las suscripciones
- Elimina los escuchadores de eventos cuando se desmonten los componentes
- Borra periódicamente los registros de mensajes
- Supervisa la cantidad de suscripciones y aplica límites
- Usa referencias débiles para las funciones de callback cuando sea posible
Migración desde RPC estándar
Si actualmente usas consultas periódicas mediante HTTP, sigue este proceso para migrar a WebSocket:Capacidades mejoradas
Para aplicaciones que requieren funciones aún más avanzadas, considera usar LaserStream gRPC:24-Hour Historical Replay
Recupera los datos que no recibiste mientras tu aplicación estaba desconectada
Multi-Node Aggregation
Obtén mayor confiabilidad mediante datos de varios validadores
Higher Throughput
Gestiona más suscripciones y tasas de mensajes más altas
Enterprise Features
Supervisión, análisis y canalizaciones de datos avanzados