跳轉到主要內容
ChainStream 提供強大的實時資料流處理能力,讓開發者能夠即時接收鏈上事件、交易和狀態變化。本文件介紹 WebSocket 連線、訂閱機制和最佳實踐。

連線方式

WebSocket 端點

連線認證

建立連線時需要在 URL 中提供 Access Token:
SDK 已內建連線和認證處理,直接呼叫訂閱方法即可:
SDK 會自動檢測連線狀態,未連線時自動建立連線,無需手動呼叫 connect()

連線響應

認證成功後會收到如下響應:

訂閱型別

ChainStream WebSocket 支援多種資料訂閱型別:
完整的訂閱型別、引數說明和響應格式請參考 WebSocket API 文件。SDK(client.stream.subscribeTokenCandlessubscribeTokenStatssubscribeTokenTrade……)已封裝好這些頻道字串,不必手工拼接。

訂閱格式示例

取消訂閱


訊息格式

請求訊息

Connect 訊息(認證):
Subscribe 訊息(訂閱):
Unsubscribe 訊息(取消訂閱):

響應訊息

訂閱確認:
資料推送:
錯誤訊息:

心跳保活

WebSocket 連線需要定期傳送心跳訊息以保持活躍。根據 connect 響應中的 ping 欄位(通常為 25 秒),在此間隔內傳送心跳:
如果在指定時間內(通常為 ping 間隔的 3 倍)未傳送任何訊息,伺服器將主動斷開連線。

完整示例


最佳實踐

效能最佳化

使用過濾條件

只訂閱需要的資料,減少頻寬消耗。使用 CEL 表示式過濾資料。

批次處理

對高頻資料進行批次處理而非逐條處理,使用訊息佇列緩衝。

本地快取

快取 Token 資訊等靜態資料,減少重複處理。

連線複用

單個連線可訂閱多個頻道,避免建立多個連線。

錯誤處理

  1. 監聽錯誤事件 — 及時處理連線錯誤和資料錯誤
  2. 實現重試機制 — 使用指數退避策略進行重連
  3. 日誌記錄 — 記錄關鍵事件便於問題排查
  4. 優雅降級 — WebSocket 不可用時切換到輪詢

資源管理


相關文件

WebSocket API 參考

完整的訂閱型別和引數說明

價格預警機器人

實戰:構建價格監控 Bot