Solana Stream SDK está totalmente atualizado para o upgrade da Solana v3

Solana Stream SDK está totalmente atualizado para o upgrade da Solana v3

Solana Stream SDK está totalmente atualizado para o upgrade da Solana v3
A ELSOUL LABO B.V. (sede: Amsterdã, Países Baixos; CEO: Fumitake Kawasaki) e a Validators DAO lançaram novas versões do Solana Stream SDK de código aberto, agora totalmente atualizadas para oferecer suporte ao upgrade da Solana v3. As edições para Rust e TypeScript foram atualizadas para garantir acesso confiável e de alto desempenho aos streams de dados em tempo real da Solana, incluindo Shreds e Geyser gRPC, na próxima era Alpenglow.
O crate Rust solana-stream-sdk agora oferece suporte à Solana v3 na versão 0.6.1, enquanto o pacote TypeScript / Node.js @validators-dao/solana-stream-sdk foi atualizado para a versão 0.12.0. Juntos, eles fornecem uma base unificada para o processamento de streams de alto desempenho durante a transição da Solana para sua arquitetura de próxima geração.

Contexto — por que a Solana v3 e o Alpenglow exigem atualizações no cliente

A Solana v3 marca uma grande transição rumo à nova arquitetura de consenso Alpenglow. O Alpenglow substitui a combinação atual de TowerBFT + Proof of History por um caminho de consenso reformulado, concebido para melhorar drasticamente a capacidade de resposta da rede. Com o Alpenglow, espera-se que a finalidade caia dos cerca de 12 segundos atuais para aproximadamente 100–150 milissegundos.
Essa mudança altera de forma fundamental o ritmo da produção de blocos e as características de propagação dos dados em tempo real pela rede.
Ao mesmo tempo, validadores e operadores de RPC enfrentam exigências operacionais maiores na v3, com ciclos de build e atualizações de configuração mais frequentes. A Validators DAO vem modernizando o ambiente do lado do servidor por meio de ferramentas como o SLV, mas essa transição também evidencia um ponto crítico:
O software cliente também precisa ser atualizado para a v3; caso contrário, os ganhos de desempenho da rede não poderão ser aproveitados por completo.
Isso vale especialmente para streams em tempo real como Shreds e Geyser gRPC. Clientes que não acompanham as novas especificações ou características de execução tendem a acumular latência ou perder consistência ao longo do tempo. À medida que nós RPC e validadores migram para a v3, o software cliente precisa avançar em paralelo.
O objetivo desta atualização do Solana Stream SDK é preencher essa lacuna e fornecer uma base pronta para uso em aplicações em tempo real na era Alpenglow.

Novidades do Solana Stream SDK v0.6.1 (Rust) e v0.12.0 (TypeScript)

O Solana Stream SDK foi projetado desde o início para oferecer suporte tanto a Shreds quanto a Geyser gRPC. Nesta versão, o SDK recebeu diversas melhorias para garantir desempenho estável na Solana v3 e preparação para o ambiente de execução baseado no Alpenglow.

Crate Rust v0.6.1

A edição Rust foi concebida como uma implementação de referência de alto desempenho para traders, indexadores e qualquer carga de trabalho em tempo real que exija vazão máxima. As principais atualizações incluem:
  • suporte às mudanças de protocolo da série Solana v3;
  • processamento eficiente de streams de Shreds e Geyser gRPC pelo runtime assíncrono do Rust;
  • um wrapper aprimorado para as definições protobuf relacionadas a Shreds, facilitando a implementação da lógica de processamento de streams;
  • caminhos de execução multithread otimizados para minimizar o acúmulo de latência mesmo sob alta vazão contínua.
A edição Rust é recomendada a usuários que precisam aproveitar plenamente Shreds e Geyser gRPC no mais alto nível de desempenho possível.

TypeScript / Node.js v0.12.0

A edição TypeScript foi projetada para preservar a ergonomia do desenvolvimento em Node.js, incorporando internamente o processamento de streams com Rust. Na v0.12.0, foram aplicadas as seguintes melhorias:
  • manutenção integral da interface existente orientada a eventos, como emitter.on, para evitar mudanças incompatíveis;
  • integração de Rust e NAPI-RS no processamento interno dos streams, permitindo que o Node.js processe Shreds com confiabilidade nos cenários em que @grpc/grpc-js antes atingia seus limites;
  • processamento atualizado de streams de Geyser gRPC e Shreds para garantir compatibilidade com a Solana v3.
Para a maioria dos usuários, atualizar para a v0.12.0 exige apenas mudar a versão no package.json, sem alterações no código.

Por que o Node.js sozinho não consegue acompanhar os Shreds

O ShredStream é a fonte de dados de menor latência e maior frequência no ecossistema da Solana. Embora os Shreds ofereçam uma visibilidade em tempo real incomparável da atividade da rede, eles também exigem uma vazão de processamento muito alta do cliente.
Clientes Node.js baseados em @grpc/grpc-js enfrentam gargalos estruturais:
  • o event loop é executado em uma única thread, de modo que a desserialização de protobuf e os callbacks do usuário bloqueiam uns aos outros;
  • quando as mensagens chegam rapidamente, a thread JavaScript fica saturada e as filas de processamento se acumulam;
  • o controle de fluxo do HTTP/2 reduz a janela de recepção à medida que os buffers se enchem, até pausar o stream e causar a impressão de “lentidão na rede” ou “ausência de dados”.
Em muitos casos observados, o problema não está na rede nem no servidor ShredStream, mas no cliente Node.js, que internamente não consegue acompanhar o fluxo.
Essa limitação é inerente ao Node.js no processamento em escala de Shreds não filtrados.
Rust + NAPI-RS supera essa limitação.

Como Rust + NAPI-RS acelera o processamento de streams no Node.js

A edição TypeScript do Solana Stream SDK transfere o trabalho pesado para o Rust e preserva as APIs JavaScript conhecidas.
  • o gerenciamento das conexões gRPC, a ingestão dos streams e a desserialização de protobuf são executados de forma assíncrona em Rust;
  • o Node.js recebe os dados processados como um stream padrão ou um emissor de eventos, permitindo que o código existente continue funcionando sem alterações;
  • o NAPI-RS minimiza a sobrecarga entre Rust e Node.js, viabilizando vazão realmente multithread por trás de uma interface JavaScript.
Como resultado, aplicações desenvolvidas com o Solana Stream SDK podem processar uma vazão significativamente maior de Shreds e Geyser gRPC do que abordagens exclusivamente em Node.js com @grpc/grpc-js, mantendo características de latência estáveis mesmo sob tráfego intenso.

Por que é importante oferecer suporte a Shreds e Geyser gRPC no mesmo SDK

Os dados em tempo real da Solana podem ser vistos em duas camadas complementares:
  • Shreds:<br> fragmentos de latência extremamente baixa emitidos diretamente pelo líder, oferecendo a visão mais antecipada possível da atividade on-chain;
  • Geyser gRPC:<br> streams estruturados de slots, transações e atualizações de contas, que fornecem um modelo de dados limpo e previsível.
O Solana Stream SDK permite que os desenvolvedores comecem pelo Geyser gRPC para compreender as estruturas de dados e depois migrem para Shreds em cenários de latência ultrabaixa, sem trocar de ferramentas nem reescrever o pipeline.
À medida que o Alpenglow acelera a produção e a confirmação de blocos, essa abordagem em duas camadas se torna ainda mais valiosa.

Primeiros passos: recursos e ambientes de teste

O Solana Stream SDK é totalmente open source, e há exemplos de código para Shreds e Geyser gRPC disponíveis no GitHub.
Para testes em condições reais, a ERPC oferece uma avaliação gratuita de um dia de endpoints ShredStream e Geyser gRPC de alto desempenho, permitindo que desenvolvedores validem o comportamento da v3 em condições equivalentes às de produção.
Site oficial da ERPC: https://erpc.global/pt/

Participe da comunidade Validators DAO

Perguntas, comentários e discussões sobre Solana v3, Alpenglow, arquitetura de streams em tempo real ou melhorias no SDK são bem-vindos na comunidade Validators DAO.
Discord oficial da Validators DAO: https://discord.gg/C7ZQSrCkYR
À medida que a Solana avança para a era Alpenglow, sua rede alcançará níveis inéditos de desempenho em tempo real. A Validators DAO e a ELSOUL LABO continuarão oferecendo ferramentas open source de alta qualidade para ajudar desenvolvedores a criar a próxima geração de aplicações em tempo real na Solana.
Agradecemos pelo apoio contínuo.