Message Types 總覽
Solana Streams 提供以下訊息型別:Block-Level Data
Solana 使用 Slot 而非傳統區塊號作為時間線標識。Transaction-Level Data
交易核心欄位
Instructions
交易包含多種 Instruction,這是 Solana 執行模型的核心:一筆 Solana 交易可以包含多個 Instruction,每個 Instruction 呼叫不同的程式(Program)。
Transfer Data
TransferEvents 提供 Solana 的轉賬資訊(Topic: sol.transfers)。
TransferEvent 結構
Transfer 核心欄位
Token 後設資料(TokenEvent)
Token 事件使用通用的TokenEvents(Topic: sol.tokens),包含:
SolanaExtra 特有欄位
Solana Token 包含額外的後設資料欄位:Balance Updates 分層機制(Solana 特有)
這是 Solana 流資料的一個重要特性,餘額更新在兩個層級提供:- 指令級 Balance Updates
- 交易級 Balance Updates
每條 instruction 執行後的即時餘額變動,反映單步操作的直接影響。
DEX Data
TradeEvents 提供 DEX 交易資料(Topic: sol.dex.trades),使用通用的 TradeEvent 結構。
Trade 核心欄位
DApp 資訊
DexPoolEvent - 流動性池
Solana 鏈特性
Slot 機制
Solana 使用 Slot 而非傳統區塊號作為時間線標識:訊息打包
交易以小批次打包,每條 Kafka 訊息不超過 250 筆交易。Block Header 完整性
高吞吐量處理建議
由於 Solana 的極高吞吐量,建議:- 充足的處理能力:確保消費端有足夠的 CPU 和記憶體
- 並行處理:使用多執行緒/協程並行處理訊息
- 高效解析:最佳化 Protobuf 解析程式碼
- 批次寫入:如需持久化,採用批次寫入資料庫
Topic → Message Type 對映表
程式碼示例
Python 示例:消費 Solana DEX 交易
Go 示例:高效能消費
相關文件
概念與接入指南
Kafka Streams 接入基礎
EVM Streams
EVM 鏈資料流
TRON Streams
TRON 網路資料流
WebSocket 實時資料
WebSocket 接入方式

