Solana Stream SDK ora completamente aggiornato per l’upgrade Solana v3

ELSOUL LABO B.V. (sede: Amsterdam, Paesi Bassi; CEO: Fumitake Kawasaki) e Validators DAO hanno rilasciato nuove versioni del Solana Stream SDK open-source, ora completamente aggiornato per supportare l’upgrade Solana v3. Entrambe le edizioni Rust e TypeScript sono state aggiornate per garantire un accesso affidabile e ad alte prestazioni ai flussi di dati in tempo reale di Solana, inclusi Shreds e Geyser gRPC, nella prossima era di Alpenglow.
Il crate Rust
solana-stream-sdk supporta ora Solana v3 con la versione 0.6.1, mentre il pacchetto TypeScript / Node.js @validators-dao/solana-stream-sdk è stato aggiornato alla versione 0.12.0. Insieme forniscono una base unificata per l’elaborazione di stream ad alte prestazioni mentre Solana compie la transizione verso la sua architettura di nuova generazione.Contesto — Perché Solana v3 e Alpenglow richiedono aggiornamenti lato client
Solana v3 segna una transizione importante verso la nuova architettura di consenso Alpenglow. Alpenglow sostituisce l’attuale combinazione TowerBFT + Proof of History con un percorso di consenso riprogettato, mirato a migliorare drasticamente la reattività della rete. Con Alpenglow, la finality dovrebbe ridursi dagli attuali circa 12 secondi a circa 100–150 millisecondi.
Questo cambiamento modifica fondamentalmente il ritmo della produzione dei blocchi e le caratteristiche di propagazione dei dati in tempo reale sulla rete.
Questo cambiamento modifica fondamentalmente il ritmo della produzione dei blocchi e le caratteristiche di propagazione dei dati in tempo reale sulla rete.
Allo stesso tempo, i validator e gli operatori RPC affrontano maggiori esigenze operative con v3, con cicli di build e aggiornamenti di configurazione più frequenti. Validators DAO ha modernizzato l’ambiente lato server attraverso strumenti come SLV, ma questa transizione evidenzia anche un punto critico:
Anche il software client deve aggiornarsi a v3, altrimenti i guadagni di prestazioni della rete non possono essere pienamente realizzati.
Questo vale in particolare per gli stream in tempo reale come Shreds e Geyser gRPC. I client che non seguono le nuove specifiche o le caratteristiche di runtime tendono ad accumulare latenza o a perdere coerenza nel tempo. Man mano che i nodi RPC e i validator passano a v3, anche il software client deve migrare in parallelo.
L’obiettivo di questo aggiornamento del Solana Stream SDK è colmare quel divario e fornire una base pronta all’uso per le applicazioni in tempo reale nell’era di Alpenglow.
Novità del Solana Stream SDK v0.6.1 (Rust) e v0.12.0 (TypeScript)
Il Solana Stream SDK è stato progettato fin dall’inizio per supportare sia Shreds sia Geyser gRPC. In questa release, l’SDK è stato aggiornato con diversi miglioramenti per garantire prestazioni stabili su Solana v3 e la compatibilità con il runtime basato su Alpenglow.
Crate Rust v0.6.1
L’edizione Rust è progettata come implementazione di riferimento ad alte prestazioni per trader, indexer e qualsiasi workload in tempo reale che richieda il massimo throughput. Gli aggiornamenti principali includono:
- Supporto per le modifiche di protocollo della serie Solana v3
- Elaborazione efficiente degli stream Shreds e Geyser gRPC tramite il runtime asincrono di Rust
- Un wrapper raffinato attorno alle definizioni protobuf relative agli Shreds, che semplifica l’implementazione della logica di elaborazione degli stream
- Percorsi di esecuzione multi-thread ottimizzati per minimizzare l’accumulo di latenza anche con un throughput elevato e sostenuto
L’edizione Rust è raccomandata per gli utenti che devono sfruttare appieno Shreds e Geyser gRPC al massimo livello di prestazioni possibile.
TypeScript / Node.js v0.12.0
L’edizione TypeScript è progettata per preservare l’ergonomia dello sviluppo Node.js integrando in modo trasparente l’elaborazione degli stream basata su Rust. Nella v0.12.0 sono stati applicati i seguenti miglioramenti:
- Mantenimento completo dell’interfaccia event-driven esistente (come
emitter.on) per evitare breaking change - Integrazione di Rust e NAPI-RS per la gestione interna degli stream, consentendo a Node.js di elaborare gli Shreds in modo affidabile laddove
@grpc/grpc-jsaveva precedentemente raggiunto i suoi limiti - Gestione aggiornata sia degli stream Geyser gRPC sia degli Shreds per garantire la compatibilità con Solana v3
Per la maggior parte degli utenti, l’aggiornamento alla v0.12.0 richiede semplicemente di incrementare la versione nel package.json — non sono necessarie modifiche al codice.
Perché Node.js da solo non riesce a stare al passo con gli Shreds
ShredStream è la sorgente di dati a più bassa latenza e più alta frequenza dell’ecosistema Solana. Se da un lato gli Shreds consentono una visibilità in tempo reale senza pari sull’attività della rete, dall’altro richiedono un throughput di elaborazione molto elevato dal client.
I client Node.js basati su
@grpc/grpc-js affrontano colli di bottiglia strutturali:- L’event loop è single-thread, quindi la deserializzazione protobuf e le callback utente si bloccano a vicenda
- Quando i messaggi arrivano rapidamente, il thread JavaScript si satura e si formano code di elaborazione
- Il flow control di HTTP/2 riduce la finestra di ricezione man mano che i buffer si riempiono, fino a mettere in pausa lo stream e dare l’impressione di un «rallentamento di rete» o di «assenza di dati»
In molti casi osservati, il problema non è la rete né il server ShredStream, bensì il client Node.js, che non riesce a tenere il passo con l’elaborazione.
Questa limitazione è intrinseca a Node.js quando si gestiscono Shreds non filtrati su larga scala.
Rust + NAPI-RS la supera.
Come Rust + NAPI-RS accelera l’elaborazione degli stream in Node.js
L’edizione TypeScript del Solana Stream SDK scarica il lavoro pesante su Rust preservando le familiari API JavaScript.
- La gestione delle connessioni gRPC, l’acquisizione degli stream e la deserializzazione protobuf sono eseguite in modo asincrono in Rust
- Node.js riceve i dati elaborati come stream standard o event emitter, consentendo al codice esistente di continuare a funzionare così com’è
- NAPI-RS minimizza l’overhead tra Rust e Node.js, abilitando un vero throughput multi-thread tramite un’interfaccia JavaScript
Di conseguenza, le applicazioni scritte con il Solana Stream SDK possono gestire un throughput di Shreds e Geyser gRPC significativamente maggiore rispetto agli approcci basati solo su Node.js con
@grpc/grpc-js, mantenendo caratteristiche di latenza stabili anche sotto traffico intenso.Perché supportare sia Shreds sia Geyser gRPC in un unico SDK è importante
I dati in tempo reale di Solana possono essere visti in due livelli complementari:
- Shreds:
Frammenti a latenza estremamente bassa emessi direttamente dal leader, che offrono la visione più precoce possibile dell’attività della chain - Geyser gRPC:
Stream strutturati di slot, transazioni e aggiornamenti degli account, che forniscono un modello di dati pulito e prevedibile
Il Solana Stream SDK consente agli sviluppatori di iniziare con Geyser gRPC per comprendere le strutture dei dati, per poi passare agli Shreds per gli scenari a latenza ultra-bassa — senza cambiare strumenti né riscrivere la propria pipeline.
Man mano che Alpenglow accelera la produzione e la conferma dei blocchi, questo approccio a doppio livello diventa ancora più prezioso.
Per iniziare: risorse e ambienti di test
Il Solana Stream SDK è completamente open-source, e il codice di esempio sia per Shreds sia per Geyser gRPC è disponibile su GitHub.
Crate Rust (v0.6.1): https://crates.io/crates/solana-stream-sdk
npm (TypeScript, v0.12.0): https://www.npmjs.com/package/@validators-dao/solana-stream-sdk
GitHub - Solana Stream SDK: https://github.com/ValidatorsDAO/solana-stream
Per i test in condizioni reali, ERPC offre una prova gratuita di un giorno per gli endpoint ShredStream e Geyser gRPC ad alte prestazioni, consentendo agli sviluppatori di convalidare il comportamento di v3 in condizioni paragonabili alla produzione.
Sito ufficiale di ERPC: https://erpc.global/it/
Unisciti alla community di Validators DAO
Domande, feedback e discussioni su Solana v3, Alpenglow, progettazione di stream in tempo reale o miglioramenti dell’SDK sono benvenuti nella community di Validators DAO.
Discord ufficiale di Validators DAO: https://discord.gg/C7ZQSrCkYR
Mentre Solana entra nell’era di Alpenglow, la sua rete raggiungerà livelli di prestazioni in tempo reale senza precedenti. Validators DAO ed ELSOUL LABO continueranno a fornire strumenti open-source di alta qualità per aiutare gli sviluppatori a costruire la prossima generazione di applicazioni in tempo reale su Solana.
Grazie per il vostro continuo supporto.









