Skip to main content

¿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 Solana

Puntos 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

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
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
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
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:
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ón wss://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ífica
  • accountSubscribe — Helius agrega filtros avanzados a la estructura estándar de accountSubscribe

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

  • 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
  • Periodos de mantenimiento programado
  • Reinicios del balanceador de carga
  • Actualizaciones de nodos RPC
  • Protección temporal contra sobrecargas
  • 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

Estrategias de reconexión

Cómo probar la lógica de reconexión

Crítico para producción: Implementar una lógica de reconexión adecuada no es opcional para las aplicaciones de producción. Las conexiones WebSocket se interrumpirán: prepárate para ello, pruébalo y supervísalo en producción.

Solución de problemas

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
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
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
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
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

Comienza

¿Todo listo para comenzar? Consulta nuestra guía de inicio rápido de WebSocket para ver ejemplos prácticos y una implementación paso a paso.

Guías

Encontrarás tutoriales paso a paso con código ejecutable en la página de guías de LaserStream WebSocket.