Anza は 六週安定発版 の節奏で Agave を進める:RPC 提供側とアプリ側は tip に合わせて メソッド互換 / 購読 filter / ブロックハッシュ窓 を自検する必要がある。本篇は HTTPS 輪詢 + 任意 logsSubscribe で 互換カード を出し、ノード準備後に endpoint を入れれば走らせられる。
パブリックエンドポイントで走らせる · blockreq.com 登録すると毎月 3M リクエスト無料。
| 用途 | Endpoint(プレースホルダ) |
|---|---|
| HTTPS | process.env.SOLANA_HTTPS(ノード準備後に記入) |
| WSS | process.env.SOLANA_WSS(ノード準備後に記入) |
| プライベート | 末尾 public → {API_KEY}(鍵はローカル) |
チェーン:Solana Mainnet / test クラスタは env で切替。公開エンドポイント · 料金 · 登録。
1. フック:発版窓 × RPC 表面の差
| 板の感触 | オンチェーン / RPC 信号 | 狙うもの |
|---|---|---|
| tip 前進 | getSlot / getLatestBlockhash | tipSlot / tipHash |
| メソッド互換 | 発版ノートに載る RPC | 成功 / 失敗 / 遅延 |
| 購読残存 | logsSubscribe mentions | 発版後もつながるか |
| 窓差 | pre / post 発版窓 | 互換カード |
同族:Changelog 購読 filter は filter レシピ;本篇は 発版リズムの自検。
2. イベント:tip 輪詢 + 任意購読
環境変数に SOLANA_HTTPS / SOLANA_WSS / WATCH_PROGRAMS / RELEASE_TAG。
Step A · HTTPS で tip を輪詢
{
"jsonrpc": "2.0", "id": 1, "method": "getSlot",
"params": [{ "commitment": "confirmed" }]
}
- HTTPS 輪詢
getSlot/getLatestBlockhash→tipSlot/tipHashに書く。 - 発版タグ窓内で失敗コード / タイムアウトを数える → 互換カード。
Step B · 任意:logsSubscribe 残存確認
{
"jsonrpc": "2.0", "id": 2, "method": "logsSubscribe",
"params": [
{ "mentions": ["WATCH_PROGRAMS"] },
{ "commitment": "confirmed" }
]
}
mentions=process.env.WATCH_PROGRAMS(編集可の重要 program 表)。- pre 窓累計と post 窓累計を比較し、購読が切れていないか見る。
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_HTTPS / SOLANA_WSS に接続し、発版タグ + program 表を貼り Start。ノード準備後に 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/ja/ · /demos1/anza-agave-rpc-compat-watch/en/。keyed に換える:WSS 末尾 public → {API_KEY}。
走らせる枠:blockreq.com 登録すると毎月 3M リクエスト無料(パブリックエンドポイントに直結)。
4. アラート節奏
- tip 前進 → slot / blockhash をカード化。
- 互換判定 → メソッド失敗 / 購読切断 / 遅延閾値。
- 送出 →
Agave 互換 · tag=… · tip=… · fail=…。 - 重複排除 → 同じ
releaseTag/tipSlotは一度だけ。
切断後は再接続;空窓は HTTPS で回補。
5. まとめ + CTA
- 粒度:Agave ウォッチ = 六週発版 × RPC 互換自検。
- レシピ:tip 輪詢 + 任意 logsSubscribe + 発版タグ → 互換カード。
- 走らせられる:endpoint 記入後にブラウザを掛ける;demos1 パスは上記。
- 走らせる:公開エンドポイント + blockreq.com 登録すると毎月 3M リクエスト無料。
次:発版タグ / program 表を固める → Webhook → Changelog filter と同屏。ドキュメント · 料金 · 登録。