BlockReq
返回全部文章

RPC 教學

Solana Changelog 訂閱工具:RPC filter 怎麼接

節點就緒後把 endpoint 填進環境變數即可開跑:按 Changelog 訂閱請求 filter 配方接 logsSubscribe / program mentions,升級窗訊號進告警面板。註冊每月免費 3M 請求。

BlockReq Engineering2026年9月16日5 分鐘閱讀

Solana Changelog 把 RPC 規範 + subscription-request filter 寫進升級節奏:訂閱體可按 mentions / 過濾鍵收窄,升級窗訊號直接進告警面板。本篇先把 logsSubscribe / filtered program 訂閱 配方預埋好——瀏覽器側留 SOLANA_HTTPS / SOLANA_WSS 佔位,節點就緒後把 endpoint 填進環境變數即可開跑。

公共端點開跑 · blockreq.com 註冊每月免費 3M 請求。

用途Endpoint(佔位)
HTTPSprocess.env.SOLANA_HTTPS(節點就緒後填入)
WSSprocess.env.SOLANA_WSS(節點就緒後填入)
私有末尾 public → {API_KEY}(Key 放本地)

鏈:Solana。配方走 logsSubscribe(mentions program)→ 按 Changelog filter 鍵收窄 → 升級窗命中寫告警卡。瀏覽器 demo 先展示 UI + sample 行,endpoint 一就緒即換真值續聽。公開端點 · 套餐 · 註冊。

熱源:solana_devs Changelog 推文。與 Pump Custom Pair 開盤配方同構疊層:本篇落在 RPC filter / 升級窗訂閱;開盤線見 Pump Custom Pair quote 白名單。

1. Hook:Changelog filter 怎麼聽

盤面語感鏈上訊號你盯什麼
filter 收窄subscription-request filter 命中mentions / filterKeys
program 日誌簇logsSubscribe mentions programsignature / slot / logs
升級窗告警Changelog 窗內關鍵 log 模式upgradeTag + window
節點換端env 換真 WSS 即續聽SOLANA_WSS 一填開跑

語感:Changelog 把 filter 寫成可接線的訂閱請求——先預埋 mentions + filter 鍵,升級窗訊號直接刷進告警面板。

2. 事件:logsSubscribe + subscription filter

環境變數先放 SOLANA_HTTPS / SOLANA_WSS / PROGRAM_MENTIONS / FILTER_KEYS / UPGRADE_WINDOW_TAGS。節點就緒後只改 endpoint,訂閱體與過濾邏輯原樣沿用。

Step A · 訂 program logs(filter 收窄)

{
  "jsonrpc": "2.0", "id": 1, "method": "logsSubscribe",
  "params": [
    { "mentions": ["PROGRAM_MENTIONS"] },
    { "commitment": "confirmed" }
  ]
}
  • mentions = process.env.PROGRAM_MENTIONS(可編輯 program id 列表,以 Changelog / 官方表為準)。
  • 客戶端按 FILTER_KEYS 掃 log 行:命中 filter 鍵 → 寫入 filterHit。
  • HTTPS getTransaction(encoding: "jsonParsed")補齊 signature / slot / 關鍵指令名。

Step B · 升級窗告警卡

UPGRADE_WINDOW_TAGS = editable tag set(feature-gate / runtime / rpc-spec …)
hit = log matches FILTER_KEYS ∧ tag ∈ UPGRADE_WINDOW_TAGS  →  write alertState

告警卡欄位:

{ pad: "changelog-filter", program, filterKey, upgradeTag, signature, slot, ts }

同 signature / filterKey 去重;滑動窗合併同窗重複推送。

Step C · 可選疊層:多 program 並行 mentions

同一 WSS 上並行多路 logsSubscribe(每路一個 program);告警面板按 program 色塊分欄,升級窗共窗對照。

3. 瀏覽器 demo

瀏覽器連 SOLANA_WSS 佔位,填 PROGRAM_MENTIONS + FILTER_KEYS + UPGRADE_WINDOW_TAGS,點 Start:UI 先刷 sample 過濾行與升級窗告警;節點就緒後換真 endpoint,同一套 filter 直接續聽。

env  → SOLANA_HTTPS · SOLANA_WSS · PROGRAM_MENTIONS · FILTER_KEYS · UPGRADE_WINDOW_TAGS
WSS  → process.env.SOLANA_WSS
HTTPS→ process.env.SOLANA_HTTPS

路徑:/demos1/solana-changelog-subscription-filter/zh-tw/ · /demos1/solana-changelog-subscription-filter/en/。換 keyed:WSS 末尾 public → {API_KEY}。

開跑配額:blockreq.com 註冊每月免費 3M 請求。

4. 告警節奏

  1. logsSubscribe 到達 → 按 FILTER_KEYS 掃 log。
  2. filter 命中 → 出站 Changelog filter · program=… · key=… · slot=…。
  3. 升級窗 tag 命中 → 告警面板疊 upgradeTag 色塊。
  4. 去重 → 同 signature / filterKey 只推一次。

斷線後重連並重新 logsSubscribe;空窗用 HTTPS getSignaturesForAddress + getTransaction 按 slot 段回補同一 program。POST → process.env.SOLANA_HTTPS。

5. 小結 + CTA

  1. 粒度:Changelog 訂閱 = logsSubscribe + subscription-request filter + 升級窗 tag。
  2. 配方:SOLANA_WSS + PROGRAM_MENTIONS + FILTER_KEYS + UPGRADE_WINDOW_TAGS → 告警卡。
  3. 可跑:瀏覽器預埋佔位 + sample 行;節點就緒後把 endpoint 填進環境變數即可開跑。
  4. 開跑:公開端點 + blockreq.com 註冊每月免費 3M 請求。

下一步:固化 filter 鍵表 → Webhook → 與 Agave 六週相容盯盤疊層對照。文件 · 定價 · 註冊。