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 接入方式

