O que é o LaserStream WebSocket?
LaserStream WebSocket é a variante do protocolo WebSocket do LaserStream. Oferece os métodos padrão Solana JSON-RPC de assinatura (accountSubscribe, programSubscribe, logsSubscribe, signatureSubscribe, slotSubscribe, …) juntamente com extensões específicas da Helius, como transactionSubscribe para filtragem avançada — tudo no mesmo ponto de extremidade unificado wss://mainnet.helius-rpc.com e no mesmo backend do LaserStream como o produto gRPC.
WebSockets oferecem uma conexão persistente e em tempo real: em vez de consultar repetidamente “algo mudou?”, a blockchain notifica você no momento em que algo acontece.
Atualizações em Tempo Real
Seja notificado instantaneamente quando contas Solana mudam, transações ocorrem ou novos blocos são produzidos
Uso Eficiente de Recursos
Uma conexão persistente em vez de várias requisições HTTP
Baixa Latência
Até 200 ms mais rápido que WebSockets padrão baseados em RPC do Agave, servido por LaserStream
Extensões Helius
transactionSubscribe e um accountSubscribe aprimorado para filtragem avançada, além dos métodos Solana padrãoPontos de Extremidade
WebSockets — tanto os métodos padrão Solana quanto as extensões específicas da Helius — são fornecidos a partir de um único ponto de extremidade unificado por rede: Mainnet:wss://mainnet.helius-rpc.com/?api-key=<API_KEY>
Devnet: wss://devnet.helius-rpc.com/?api-key=<API_KEY>
Gatekeeper (Beta)
Para testar nossa oferta de WebSocket mais rápida, experimente o novo ponto de extremidade Gatekeeper (Beta):wss://beta.helius-rpc.com/?api-key=<API_KEY>
Preços e Medição
O uso do WebSocket é medido em 2 créditos por 0,1 MB de dados transmitidos sem compressão. Abrir uma conexão custa 1 crédito. Para cargas de trabalho de alto volume em planos profissionais, Complementos de Dados fornecem franquias de dados mensais (5TB–100TB) a custos previsíveis. Complementos de dados podem ser aplicados ao LaserStream e WebSockets.Os métodos específicos da Helius
transactionSubscribe e accountSubscribe (com filtros Helius) requerem um plano Developer, Business ou Professional. Métodos padrão Solana como programSubscribe, logsSubscribe e signatureSubscribe estão disponíveis em todos os planos.Conceitos Fundamentais
Tipos de Assinatura
Assinaturas de Conta
Assinaturas de Conta
Monitore mudanças em contas específicas, como saldos de carteiras, contas de token ou dados de programas.Casos de uso:
- Rastreamento de saldo de carteira
- Monitoramento de conta de token
- Alterações no estado de contratos inteligentes
- Atualizações de propriedade de NFT
Assinaturas de Programa
Assinaturas de Programa
Veja todas as contas pertencentes a um programa específico para quaisquer alterações.Casos de uso:
- Monitoramento de negociações DEX
- Rastreamento de protocolos DeFi
- Atividade em mercados NFT
- Alterações de ativos em jogos
Assinaturas de Transação
Assinaturas de Transação
Seja notificado quando transações específicas são confirmadas ou quando transações mencionam certas contas.Casos de uso:
- Confirmações de pagamento
- Rastreamento de status de transações
- Aprovações de multiassinaturas
- Monitoramento de execução de contrato
Assinaturas de Slot
Assinaturas de Slot
Monitore a progressão e finalização da blockchain no nível de slot.Casos de uso:
- Aplicações de exploradores de bloco
- Monitoramento de saúde da rede
- Rastreamento de consenso
- Análises de desempenho
Níveis de Comprometimento
Compreender os níveis de comprometimento é crucial para aplicações fiáveis:- Processado
- Confirmado
- Finalizado
Mais Rápido - Transação processada por um validador, mas não confirmada
- Latência: ~400ms
- Risco: Pode ser descartada ou reordenada
- Uso: Atualizações de interface em tempo real (com cautela)
Quer saber mais sobre os níveis de comprometimento? Leia nosso blog: Compreendendo os Níveis de Comprometimento da Solana
Métodos WebSocket Disponíveis
A Helius suporta o conjunto completo de métodos de assinatura Solana WebSocket, além de extensões específicas da Helius. Todos os métodos compartilham o mesmo ponto de extremidadewss://mainnet.helius-rpc.com.
Extensões Helius
Dois métodos oferecem filtragem mais rica que o padrão Solana:transactionSubscribe— assine transações que correspondem a listas de contas incluídas/excluídas/necessárias, bandeiras de voto/erro, e uma assinatura específicaaccountSubscribe— Helius adiciona filtros avançados sobre o formato padrãoaccountSubscribe
Métodos padrão Solana
accountSubscribe, blockSubscribe, logsSubscribe, programSubscribe, rootSubscribe, signatureSubscribe, slotSubscribe, slotsUpdatesSubscribe, voteSubscribe e seus pares *Unsubscribe correspondentes.
Referência Completa da API
Explore todos os 18+ métodos WebSocket. Cada método inclui parâmetros detalhados, formatos de resposta e exemplos.
Como Implementar Lógica de Reconexão
Conexões WebSocket podem ser desconectadas por vários motivos - problemas de rede, manutenção do servidor ou interrupções temporárias. Aplicações de produção devem implementar lógica de reconexão para garantir confiabilidade.Por Que as Desconexões Acontecem
Problemas de Rede
Problemas de Rede
- Problemas de conectividade com a Internet
- Trocas de WiFi em dispositivos móveis
- Tempos mortos em firewalls corporativos
- Mudanças de roteamento de ISP
Eventos do Lado do Servidor
Eventos do Lado do Servidor
- Janelas de manutenção planejadas
- Reinícios de balanceadores de carga
- Atualizações de nós RPC
- Proteção temporária contra sobrecarga
Problemas do Lado do Cliente
Problemas do Lado do Cliente
- Aba do navegador em segundo plano
- Suspensão de aplicativo móvel
- Computador em modo de espera/hibernação
- Falhas ou reinícios de processos
Detectando Desconexões
- Node.js
Estratégias de Reconexão
- Backoff Exponencial
- Padrão Circuit Breaker
Testando a Lógica de Reconexão
- Simulação de Rede
- Teste Automatizado
Solução de Problemas
Falha na Conexão
Falha na Conexão
Sintomas: WebSocket falha ao conectar inicialmenteSoluções:
- Verifique se sua chave API está correta e possui créditos suficientes
- Verifique o formato da URL do ponto de extremidade:
wss://mainnet.helius-rpc.com?api-key=YOUR_KEY - Certifique-se de que seu firewall permite conexões WebSocket na porta 443
- Teste com um simples ping primeiro para verificar a conectividade básica
Desconexões Frequentes
Desconexões Frequentes
Sintomas: Conexão cai a cada poucos minutosSoluções:
- WebSockets têm um timer de inatividade de 10 minutos. Envie um ping pelo menos uma vez por minuto para manter a conexão ativa (veja os exemplos de reconexão acima e o FAQ WebSocket)
- Implemente ping/pong de coração adequado (mostrado nos exemplos de reconexão acima)
- Verifique a estabilidade de sua rede e configurações de firewall corporativo
- Monitore sua contagem de assinaturas - muitas podem causar instabilidades
- Verifique se você está lidando com o ciclo de vida da conexão corretamente
Mensagens Perdidas
Mensagens Perdidas
Sintomas: Não recebendo atualizações de assinatura esperadasSoluções:
- Verifique se sua assinatura está confirmada (verifique a resposta)
- Certifique-se de que a conta/programa que você está monitorando tenha atividade real
- Monitore o estado de sua conexão - mensagens perdidas geralmente indicam desconexões
Alta Latência
Alta Latência
Sintomas: Entrega lenta de mensagens, atrasos nas atualizaçõesSoluções:
- Use “confirmado” em vez de “finalizado” como comprometimento
- Reduza o número de assinaturas ativas
- Otimize sua lógica de processamento de mensagens
- Considere usar múltiplas conexões para distribuir carga
- Verifique a qualidade de sua conexão de rede
Vazamentos de Memória
Vazamentos de Memória
Sintomas: Uso de memória da aplicação cresce com o tempoSoluções:
- Implemente limpeza adequada de assinaturas
- Remova ouvintes de eventos quando componentes são desmontados
- Limpe logs de mensagens periodicamente
- Monitore a contagem de assinaturas e imponha limites
- Use referências fracas para funções de callback quando possível
Migração do RPC Padrão
Se você está atualmente usando polling HTTP, veja como migrar para WebSockets:Capacidades Aprimoradas
Para apps que exigem recursos ainda mais avançados, considere usar LaserStream gRPC:Reprodução Histórica de 24 Horas
Recupere dados perdidos quando seu app estava offline
Agregação Multi-Node
Melhor confiabilidade via dados de múltiplos validadores
Maior Taxa de Transferência
Lide com mais assinaturas e maiores taxas de mensagens
Recursos Empresariais
Monitoramento avançado, análises, e pipelines de dados