Skip to main content
Beta — 此功能目前處於測試階段,API 可能會有變動。
本文件介紹 ChainStream Webhook 的工作原理、配置方法和最佳實踐,幫助您實現鏈上事件的實時推送。
Webhook 功能對所有使用者開放。

工作原理

資料流程

核心特性


支援的事件型別

目前 Webhook 支援以下事件型別(channels):
更多事件型別正在開發中,敬請期待!

建立 Webhook 端點

API 端點

請求引數

請求示例

響應示例


Webhook 通知格式

Webhook 通知的資料結構與 WebSocket 推送一致。

新代幣建立 (sol.token.created)

欄位說明

代幣畢業 (sol.token.migrated)

額外欄位

Webhook URL 要求


安全驗證

獲取 Webhook 金鑰

建立端點後,透過以下 API 獲取金鑰:
響應

簽名驗證

每個 Webhook 請求都包含簽名頭,用於驗證請求來源:

驗證流程

程式碼示例


管理 Webhook 端點

獲取端點列表

查詢引數

獲取端點詳情

更新端點

刪除端點

輪換金鑰


最佳實踐

✅ 快速響應

✅ 冪等性處理

每個事件包含唯一標識,請在服務端記錄已處理的事件:

✅ 安全性

始終驗證簽名

驗證每個請求的簽名

使用 HTTPS

確保傳輸安全

定期輪換金鑰

建議每 90 天輪換

保護敏感資料

不在日誌中記錄敏感資料

✅ 可靠性

實現冪等性

處理重複請求

訊息佇列緩衝

使用佇列非同步處理

合理超時時間

避免長時間阻塞

完善日誌

記錄關鍵資訊便於排查

常見問題

排查步驟
  1. 確認 URL 可訪問 — 從公網測試 URL 是否可達
  2. 檢查 HTTPS — 必須使用有效的 SSL 證書
  3. 檢查端點狀態 — 確認 disabled 不是 true
  4. 檢查 channels — 確認訂閱了正確的事件型別
這可能是重試機制導致的。請實現冪等性處理:
  1. 使用事件的唯一標識(channel + 代幣地址 + 時間戳)
  2. 收到請求時先檢查是否已處理
  3. 使用帶 TTL 的快取(如 Redis)儲存
  1. 使用 ngrok 暴露本地服務
  2. 建立 Webhook 端點指向 ngrok URL
  3. 等待真實事件觸發,或使用測試環境
  4. 檢視本地服務日誌

API 端點彙總


相關文件

WebSocket API

實時資料訂閱

Endpoint API 參考

完整 API 文件