Skip to main content

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

Pontos 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

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
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
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
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:
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 extremidade wss://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ífica
  • accountSubscribe — Helius adiciona filtros avançados sobre o formato padrão accountSubscribe

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 conectividade com a Internet
  • Trocas de WiFi em dispositivos móveis
  • Tempos mortos em firewalls corporativos
  • Mudanças de roteamento de ISP
  • Janelas de manutenção planejadas
  • Reinícios de balanceadores de carga
  • Atualizações de nós RPC
  • Proteção temporária contra sobrecarga
  • 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

Estratégias de Reconexão

Testando a Lógica de Reconexão

Crítico para Produção: Implementar lógica de reconexão adequada não é opcional para aplicações de produção. Conexões WebSocket irão se desconectar - planeje, teste e monitore isso em produção.

Solução de Problemas

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

Comece Agora

Pronto para Começar? Confira nosso Guia Rápido WebSocket para exemplos práticos e uma implementação passo a passo.