跳轉到主要內容
ChainStream 為 Solana 釋出的 Kafka topic 權威列表。所有 topic 使用 sol. 字首。 端到端的連線細節、SASL 憑證與 SDK 示例見 接入方式 → Kafka Streams → Solana Streams。權威的 Protobuf 定義見 github.com/chainstream-io/streaming_protobuf/solana

分割槽

  • Mint 地址(32 位元組 pubkey,base58 編碼)—— 用於代幣中心的 topic(tokensdex.tradesdex.poolscandlestickstoken-pricestoken-suppliestoken-market-capstrade-statstoken-holdings
  • 賬戶地址 —— 用於賬戶中心的 topic(balancestransfers
同一 mint 或賬戶的事件按 slot 順序落到同一分割槽。

Topic 矩陣

DEX 成交

TopicProto 訊息Schema 檔案描述
sol.dex.tradesTradeEventssolana/trade_event.proto原始 DEX 成交(Raydium、Meteora、Pump.fun、Jupiter 路由等)
sol.dex.trades.processedTradeEventssolana/trade_event.proto附帶 USD / SOL 價格、路由解析、可疑標記

代幣

TopicProto 訊息Schema 檔案描述
sol.tokensTokenEventssolana/token_event.proto代幣生命週期事件(鑄幣、後設資料更新、許可權變更)
sol.tokens.createdTokenEventssolana/token_event.proto僅 mint 建立事件的過濾流
sol.tokens.processedTokenEventssolana/token_event.proto補充後設資料 JSON、圖片、社交後的代幣

代幣級統計

TopicProto 訊息Schema 檔案描述
sol.token-pricesTokenPriceEventsolana/token_price_event.proto聚合的價格更新(USD + SOL)
sol.token-suppliesTokenSupplyEventsolana/token_supply_event.protoMint 供給變化(mint / burn)
sol.token-supplies.processedTokenSupplyEventsolana/token_supply_event.proto含小數歸一化 + USD 數值的供給
sol.token-market-caps.processedTokenMarketCapEventsolana/token_market_cap_event.proto市值(流通量 × 價格)
sol.token-holdingsTokenHoldingEventsolana/token_holding_event.proto持幣人數、Top-N 集中度
sol.trade-statsTradeStatEventsolana/trade_stat_event.proto成交筆數、成交量、獨立買家 / 賣家

餘額

TopicProto 訊息Schema 檔案描述
sol.balancesBalanceEventssolana/balance_event.proto每個賬戶的原始餘額變化事件
sol.balances.processedBalanceEventssolana/balance_event.proto附帶 USD + SOL 價值的餘額事件

DEX 池

TopicProto 訊息Schema 檔案描述
sol.dex.poolsDexPoolEventssolana/dex_pool_event.proto池建立 / 更新 / sync 事件(含 CLMM tick)
sol.dex.pools.processedDexPoolEventssolana/dex_pool_event.proto附帶 USD + SOL 流動性與費率檔的池事件

轉賬

TopicProto 訊息Schema 檔案描述
sol.transfersTransferEventssolana/transfer_event.proto所有 SPL + 原生轉賬,包含程式呼叫的轉賬
sol.transfers.processedTransferProcessedEventssolana/transfer_processed_event.proto附帶 slot 時價格 + USD 數值的轉賬

K 線

TopicProto 訊息Schema 檔案描述
sol.candlesticksCandlestickEventscandlestick.proto多解析度預聚合的 OHLC

消費者示例

from confluent_kafka import Consumer
from streaming_protobuf.solana.trade_event_pb2 import TradeEvents

consumer = Consumer({
    "bootstrap.servers": "kafka.chainstream.io:9093",
    "security.protocol": "SASL_SSL",
    "sasl.mechanism": "SCRAM-SHA-512",
    "sasl.username": "<your-username>",
    "sasl.password": "<your-password>",
    "group.id": "my-consumer",
    "auto.offset.reset": "latest",
})
consumer.subscribe(["sol.dex.trades.processed"])

while True:
    msg = consumer.poll(1.0)
    if msg is None or msg.error():
        continue
    events = TradeEvents.FromString(msg.value())
    for trade in events.Trades:
        print(trade)
Go 與 JavaScript 等效示例見 Solana Streams 指南

下一步

EVM Kafka Topics

Ethereum、BSC、Base、Polygon 等鏈的 topic 列表

Tron Kafka Topics

Tron 的 topic 列表

Kafka Streams 總覽

連線、鑑權、分割槽模型

Solana Streams 指南

欄位定義與消費者示例