跳转到主要内容
ChainStream 为 Solana 发布的 Kafka 主题的权威列表。所有主题都以 sol. 为前缀。 端到端连接细节、SASL 凭证与 SDK 示例请参考 接入方式 → Kafka Streams → Solana Streams。权威的 Protobuf 定义见 github.com/chainstream-io/streaming_protobuf/solana

分区

  • Mint 地址(32 字节 pubkey,base58 编码)——代币维度的主题(tokensdex.tradesdex.poolscandlestickstoken-pricestoken-suppliestoken-market-capstrade-statstoken-holdings
  • 账户地址——账户维度的主题(balancestransfers
同一 mint 或账户的事件按 slot 顺序落入同一分区。

主题矩阵

DEX 成交

主题Proto 消息Schema 文件说明
sol.dex.tradesTradeEventssolana/trade_event.proto原始 DEX swap(Raydium、Meteora、Pump.fun、Jupiter 路由等)
sol.dex.trades.processedTradeEventssolana/trade_event.proto叠加 USD / SOL 价格、路由解析、可疑标志

代币

主题Proto 消息Schema 文件说明
sol.tokensTokenEventssolana/token_event.proto代币生命周期事件(mint、元数据更新、权限变更)
sol.tokens.createdTokenEventssolana/token_event.proto只包含 mint 创建事件的过滤流
sol.tokens.processedTokenEventssolana/token_event.proto代币 + 元数据 JSON、图片、社交

代币级统计

主题Proto 消息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供应量(按 decimal 规整 + 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成交次数、成交量、独立买卖方

余额

主题Proto 消息Schema 文件说明
sol.balancesBalanceEventssolana/balance_event.proto各账户原始余额变更事件
sol.balances.processedBalanceEventssolana/balance_event.proto余额事件 + USD / SOL 计价

DEX 池子

主题Proto 消息Schema 文件说明
sol.dex.poolsDexPoolEventssolana/dex_pool_event.proto池子创建 / 更新 / sync 事件(含 CLMM tick)
sol.dex.pools.processedDexPoolEventssolana/dex_pool_event.proto池事件 + USD / SOL 流动性、费率档

转账

主题Proto 消息Schema 文件说明
sol.transfersTransferEventssolana/transfer_event.proto全量 SPL + 原生币转账(含 program 调用的转账)
sol.transfers.processedTransferProcessedEventssolana/transfer_processed_event.proto转账 + slot 时刻价格 + USD 计价

K 线

主题Proto 消息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 主题

Ethereum、BSC、Base、Polygon 等的主题列表

Tron Kafka 主题

Tron 的主题列表

Kafka Streams 总览

连接、认证、分区模型

Solana Streams 指南

字段定义与消费者示例