跳转到主要内容
EVM 链按不同网络有不同的出块间隔(Ethereum 主网约 12 秒/块),支持 Ethereum、BSC、Base、Polygon (Matic)、Optimism 等网络,共享统一的 Protobuf Schema。 Schema 仓库github.com/chainstream-io/streaming_protobuf/evm

Message Types 总览

EVM Streams 提供以下消息类型:

Block-Level Data

每个区块包含 BlockHeader,核心字段: BlockMessage 还包含:

Transaction-Level Data

TransactionHeader — 核心交易元数据

ReceiptHeader — 执行结果

TransactionFee — 费用明细

Calls — 内部调用 Trace

包含所有嵌套合约调用,每个 call 包含:
  • FromTo:调用方和被调用方
  • InputOutput:输入输出数据
  • GasUsed:Gas 消耗
  • Opcode:操作码(CALL/DELEGATECALL/STATICCALL)
  • Signature:函数签名
  • Logs:事件日志
  • StateChanges:状态变更
  • ReturnValues:返回值

Balance Updates

ERC-20/721/1155 Token 余额变动:

Transfer Data

TransfersMessage 提供 EVM 链的转账信息(Topic: {chain}.v1.transfers.proto)。

TransfersMessage 结构

Transfer 结构

TokenInfo 结构

支持的 Token 标准


DEX Data

TradeEvents 提供 DEX 交易数据(Topic: {chain}.dex.trades)。

TradeEvent 结构

Trade 核心字段

TradeProcessed 增强字段

.processed topic 额外包含:

DexPoolEvent - 流动性池

DexPoolEvents 提供流动性池事件(Topic: {chain}.dex.pools)。

EVM 链特性

Gas 与 EIP-1559 费用模型

EVM 使用 Gas 机制计量计算资源。EIP-1559 引入了 BaseFee 动态调整和费用燃烧,交易费拆分为:
  • 验证者奖励MinerReward
  • 燃烧部分Burnt

Layer 2 支持

EVM Streams 为 L2 链提供专属字段:

Topic → Message Type 映射表

{chain} 替换为 ethbsc。例如 eth.dex.tradesbsc.tokens.processed

代码示例

Python 示例:消费 DEX 交易数据

JavaScript 示例


相关文档

概念与接入指南

Kafka Streams 接入基础

Solana Streams

Solana 高吞吐数据流

TRON Streams

TRON 网络数据流

WebSocket 实时数据

WebSocket 接入方式