Validators DAO 釋出 Solana Stream SDK TypeScript Yellowstone Geyser napi-rs
Validators DAO 釋出 Solana Stream SDK TypeScript Yellowstone Geyser napi-rs

ELSOUL LABO B.V.(總部:荷蘭阿姆斯特丹,CEO:Fumitake Kawasaki)和 Validators DAO 宣佈對開源 Solana 流式傳輸框架"Solana Stream SDK"的 TypeScript 客戶端進行重大版本更新,使 TypeScript Yellowstone Geyser gRPC 客戶端能夠利用 NAPI-RS(Rust 原生實現)。
透過此次更新,Solana Stream SDK 在保持 TypeScript 開發體驗的同時,提升了高頻流式工作負載的處理餘量和穩定性。即使在流量高峰和持續事件爆發期間,系統也能保持穩定執行,不易崩潰。此外,啟動程式碼已從簡單的連線示例重構為面向生產的(Production-Ready)基礎架構,專為實際運營和可擴充套件性而設計。
在 TypeScript 中處理實時流的實際條件
Solana 流式傳輸應用於實時響應直接轉化為價值的領域,如交易、監控、分析和運維決策。同時,許多實際開發環境從根本上是基於 Web 的,TypeScript 因其開發速度、可維護性、團隊靈活性和交接便利性而成為理想選擇。
因此,重要的不僅是流可以在 TypeScript 中處理,而是高頻流可以在 TypeScript 中以現實和可持續的方式進行處理,在長期執行條件下不會崩潰。
為什麼 Node.js 單執行緒執行在峰值負載下成為瓶頸
高頻流式傳輸涉及連續的接收、處理、過濾、解碼和下游邏輯執行,所有操作同時執行。在這些條件下,單執行緒 Node.js 執行路徑在突發或短期負載峰值期間容易產生背壓。
在實際中,這通常表現為延遲增加、處理積壓、事件丟失和頻繁重連。雖然 TypeScript 在開發速度和可維護性方面表現出色,但關鍵的運維挑戰在於是否能在流式傳輸峰值條件下保持足夠的處理餘量。此次更新直接應對了這一挑戰。
NAPI-RS 整合的先前範圍與擴充套件
此前,在 Solana Stream SDK 中,NAPI-RS 主要用於 Shreds gRPC TypeScript 客戶端。透過此次更新,NAPI-RS(Rust 原生)支援已擴充套件到廣泛使用的 Yellowstone Geyser gRPC TypeScript 客戶端。
這一擴充套件顯著增加了流式傳輸管道中能夠受益於低開銷原生執行的部分,同時保留了基於 TypeScript 的介面。內部基準測試顯示,峰值負載下的背壓容忍度有了實質性改善,處理餘量提高了約四倍。關鍵成果不在於數字倍數本身,而在於行為模式的轉變——在峰值條件下避免崩潰,可以作為可靠的運維基線。
與 WebAssembly(WASM)等替代方案相比,NAPI 直接執行原生程式碼,實現更低的延遲和更高的吞吐量。在 Solana Stream SDK 中,NAPI-RS 在不犧牲 TypeScript 開發體驗的情況下,發揮著提升實時流效能的核心作用。
在 TypeScript 中使用 Yellowstone Geyser gRPC 的意義
Geyser gRPC 是接收交易、賬戶更新和 slot 事件低延遲流的核心介面。延遲或資料丟失直接轉化為錯過的交易機會、延遲的監控和運維決策,以及增加的開發和運維成本。
在 TypeScript 中實現這一核心介面的現實、抗峰值執行,不僅僅是速度問題。它減少了開發和運維中的摩擦,使團隊能夠持續改進系統,無需切換技術棧或重寫核心邏輯。
將啟動程式碼重新定義為面向生產
此前,啟動程式碼主要作為快速連線測試的入口。然而在實際運營中,斷連、重連、流連續性、重複或丟失、訂閱過濾和峰值負載控制等問題是不可避免的。
如果初始結構過於輕量,這些實際需求往往在後期以臨時方式新增,引入結構性變形並增加長期維護成本。此次更新將啟動程式碼重組為能夠從一開始就承受實際運維需求的基礎架構。
透過結構性重構明確擴充套件點
在 TypeScript 側,職責被清晰分離,使擴充套件點變得明確。入口點保持最小化,專注於組裝和啟動,而處理邏輯被隔離到處理器中。onTransaction 和 onAccount 等鉤子定義了清晰的自定義邏輯插入點。
這種結構允許交易邏輯、檢測邏輯、過濾策略和輸出目標的修改區域性化且可預測。訂閱定義也統一到 TypeScript 程式碼中,而非基於 JSON 的配置,提高了可讀性和型別安全性。CommitmentLevel.PROCESSED 等可讀構造減少了程式碼和執行時行為之間的配置偏差。
將運維穩定性作為首要假設
在高頻流式傳輸中,僅有速度是不夠的;彈性同樣關鍵。此次更新繼續提供內建機制,如背壓控制(有界佇列、丟棄日誌)、已接收/已處理/已丟棄事件的指標、連線保活(ping/pong)、指數退避和基於 from_slot 的間隙恢復。
這些不是可選的增強功能,而是生產流式系統的基線要求。將啟動程式碼視為面向生產意味著從一開始就嵌入這些假設,而非事後疊加。
目標使用者和使用場景
此次更新面向希望在生產環境中使用 TypeScript 執行實時 Solana 流的開發者、使用 Yellowstone Geyser gRPC 構建低延遲檢測/交易/監控系統的團隊,以及在峰值負載處理和重連行為方面面臨挑戰的開發者。目標是提升基於 TypeScript 的流式傳輸的運維可行性,同時不犧牲其固有優勢。
參考資料
Solana Stream SDK 的更新可在 GitHub 上獲取。歡迎透過 GitHub 或 Validators DAO 官方 Discord 提供回饋。
ERPC 在多個地區提供 Solana 流式傳輸基礎設施。使用 Solana Stream SDK 啟動程式碼,開發者可以直接在真實的 Geyser gRPC 環境中驗證行為。透過 ERPC 的免費試用,還可以在接近實際生產的條件下同時評估 SDK 和流式傳輸基礎設施。更多詳情請訪問 ERPC 官方網站。
Validators DAO 官方 Discord: https://discord.gg/C7ZQSrCkYR
Solana Stream SDK(GitHub): https://github.com/ValidatorsDAO/solana-stream
ERPC 官方網站: https://erpc.global/


