跳轉到主要內容
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 接入方式