BlockReq
返回全部文章

RPC 教學

Agave 六週發版追蹤:RPC 相容性自檢

節點就緒後把 endpoint 填進環境變數即可開跑:對齊 Anza 六週穩定發版節奏,盯 tip/slot + 關鍵 program/log 差,一頁兼容清單(節點能力 / 訂閱健康)。註冊每月免費 3M 請求。

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

Anza 以 六週穩定發版 節奏推進 Agave:RPC 提供方與應用側按 tip/slot 對齊發版窗,並對關鍵 program / log 做 pre/post 差分。本篇先把 一頁相容清單(節點能力 / 訂閱健康) 配方預埋好——瀏覽器側留 SOLANA_HTTPS / SOLANA_WSS 佔位,節點就緒後把 endpoint 填進環境變數即可開跑。

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

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

鏈:Solana / Agave。配方走 tip/slot 探針 → 關鍵 program logsSubscribe → pre/post 差分卡 → 相容清單。瀏覽器 demo 先展示 UI + sample 行,endpoint 一就緒即換真值續聽。公開端點 · 套餐 · 註冊。

熱源:anza_xyz 六週發版推文。與 Changelog filter 訂閱同構疊層:本篇落在發版窗 tip/slot + 相容自檢;filter 線見 Changelog RPC filter 訂閱。

1. Hook:六週發版怎麼盯

盤面語感鏈上訊號你盯什麼
發版窗對齊tip / slot 越過發版錨點tipSlot / releaseTag
program 差關鍵 program log pre/postprogramDiff / logDelta
訂閱健康logsSubscribe 心跳 + 延遲subLag / lastPushTs
節點換端env 換真 WSS 即續聽SOLANA_WSS 一填開跑

語感:六週一拍,先把 tip/slot 與關鍵 program 差分預埋成一頁清單——發版窗一開,相容自檢直接刷卡。

2. 事件:tip/slot + program/log 差分

環境變數先放 SOLANA_HTTPS / SOLANA_WSS / WATCH_PROGRAMS / RELEASE_ANCHOR_SLOT / COMPAT_CHECKS。節點就緒後只改 endpoint,探針與訂閱體原樣沿用。

Step A · tip/slot 探針

{
  "jsonrpc": "2.0", "id": 1, "method": "getSlot",
  "params": [{ "commitment": "confirmed" }]
}
  • HTTPS 輪詢 getSlot / getLatestBlockhash → 寫入 tipSlot / tipHash。
  • RELEASE_ANCHOR_SLOT = 發版窗錨點(可編輯);tipSlot ≥ anchor → 進入 post 窗,切換差分基線。

Step B · 關鍵 program logsSubscribe

{
  "jsonrpc": "2.0", "id": 2, "method": "logsSubscribe",
  "params": [
    { "mentions": ["WATCH_PROGRAMS"] },
    { "commitment": "confirmed" }
  ]
}
  • mentions = process.env.WATCH_PROGRAMS(可編輯關鍵 program 表)。
  • pre 窗累計 log 指紋;post 窗同指紋對照 → programDiff / logDelta。
  • HTTPS getTransaction(encoding: "jsonParsed")補齊指令名與賬戶差分。

Step C · 一頁相容清單

COMPAT_CHECKS = [
  nodeCapability   → getVersion / getHealth shape OK
  tipAligned       → tipSlot tracked vs RELEASE_ANCHOR_SLOT
  subHealthy       → logsSubscribe lag within budget
  programDiffReady → pre/post fingerprints written
]
hit = all checks green  →  write compatState

相容卡欄位:

{ pad: "agave-compat", releaseTag, tipSlot, programDiff, subLag, checks, ts }

同 releaseTag / tipSlot 去重;滑動窗合併同窗重複推送。

3. 瀏覽器 demo

瀏覽器連 SOLANA_WSS 佔位,填 WATCH_PROGRAMS + RELEASE_ANCHOR_SLOT + COMPAT_CHECKS,點 Start:UI 先刷 sample tip/slot 與 pre/post 差分行,相容清單並排;節點就緒後換真 endpoint,同一套探針直接續聽。

env  → SOLANA_HTTPS · SOLANA_WSS · WATCH_PROGRAMS · RELEASE_ANCHOR_SLOT · COMPAT_CHECKS
WSS  → process.env.SOLANA_WSS
HTTPS→ process.env.SOLANA_HTTPS

路徑:/demos1/anza-agave-rpc-compat-watch/zh-tw/ · /demos1/anza-agave-rpc-compat-watch/en/。換 keyed:WSS 末尾 public → {API_KEY}。

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

4. 告警節奏

  1. tip/slot 越過錨點 → 切換 post 窗,出站 Agave release · tag=… · tip=…。
  2. program/log 差分就緒 → 疊 programDiff 色塊。
  3. 相容清單全綠 → 出站 compat OK · checks=… · lag=…。
  4. 去重 → 同 releaseTag / tipSlot 只推一次。

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

5. 小結 + CTA

  1. 粒度:六週盯盤 = tip/slot 對齊 + 關鍵 program/log 差分 + 相容清單。
  2. 配方:SOLANA_WSS + WATCH_PROGRAMS + RELEASE_ANCHOR_SLOT + COMPAT_CHECKS → 相容卡。
  3. 可跑:瀏覽器預埋佔位 + sample 行;節點就緒後把 endpoint 填進環境變數即可開跑。
  4. 開跑:公開端點 + blockreq.com 註冊每月免費 3M 請求。

下一步:固化發版錨點表 → Webhook → 與 Changelog filter 訂閱疊層對照。文件 · 定價 · 註冊。