mcpField
R
relay-diagnostic

relay-diagnostic

github.com/aibtcdev云与 DevOps11112 次安装1 天前更新
代码仓库

关于 relay-diagnostic

relay-diagnostic 面向运维人员,用于检查赞助方中继状态并恢复卡住的赞助交易。它将只读 nonce 诊断与需要钱包授权的恢复操作分开。

主要功能

  1. 01读取中继版本与健康状态
  2. 02检查赞助方 nonce 状态
  3. 03识别 nonce 缺口和卡住的交易
  4. 04通过 RBF 或补缺恢复
  5. 05指定交易 ID 或 nonce

适用场景

  1. 01恢复前检查中继状态
  2. 02查找赞助方 nonce 序列缺口
  3. 03重试指定的卡住交易
  4. 04补齐指定的缺失 nonce

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aibtcdev/skills --skill relay-diagnostic

安装后在 Claude Code 中输入/relay-diagnostic确认已加载。

附带文件AGENT.mdrelay-diagnostic.ts

详细介绍

Relay 诊断技能

通过检查赞助方中继的 nonce 状态并按需触发自动恢复,诊断并恢复卡住的赞助交易。

仅用于运维诊断。面向调用方的 x402 支付状态应通过按 paymentId 进行规范的支付状态轮询获取,而不是依据中继运行状况启发式判断。

  • check-health — 只读,无需钱包。返回中继版本、赞助方 nonce 状态、检测到的间隙和卡住的交易。
  • recover — 需要已解锁的钱包(用于获取赞助方 API 密钥)。尝试执行 RBF、填补间隙,或两者兼做。

用法

bun run relay-diagnostic/relay-diagnostic.ts <subcommand> [options]

子命令

check-health

检查赞助方中继的可用性和 nonce 状态。无需钱包。

bun run relay-diagnostic/relay-diagnostic.ts check-health

输出:

{
  "healthy": true,
  "network": "mainnet",
  "version": "1.2.0",
  "sponsorAddress": "SP1PMPPVCMVW96FSWFV30KJQ4MNBMZ8MRWR3JWQ7",
  "nonceStatus": {
    "lastExecuted": 4210,
    "lastMempool": 4215,
    "possibleNext": 4216,
    "missingNonces": [],
    "mempoolNonces": [4211, 4212, 4213, 4214, 4215],
    "hasGaps": false,
    "gapCount": 0,
    "mempoolDesync": false,
    "desyncGap": 5
  },
  "stuckTransactions": [],
  "issues": [],
  "formatted": "Relay Health Check (mainnet)\nStatus: HEALTHY\n..."
}
recover

尝试自动恢复卡住的交易。需要已解锁的钱包。

bun run relay-diagnostic/relay-diagnostic.ts recover [options]

选项:

  • --action <rbf|fill-gaps|both> — 恢复模式(默认值:both)
  • --txids <txid,...> — 以逗号分隔的特定卡住交易 txid 列表,用于 RBF(省略则提升所有交易)
  • --nonces <n,...> — 以逗号分隔的特定缺失 nonce 列表,用于填补间隙(省略则填补所有间隙)

输出:

{
  "action": "both",
  "rbf": {
    "supported": true,
    "result": { "bumped": 2 }
  },
  "fillGaps": {
    "supported": true,
    "result": { "filled": 0 }
  },
  "summary": "Recovery request sent to relay. Run check-health to verify nonce state improved."
}

备注

  • 执行 recover 前务必先运行 check-health;未先检查运行状况就执行恢复,可能会不必要地提升交易。
  • 如果中继对恢复端点返回 404 或 501,工具会报告 supported: false,并提示联系 AIBTC 团队。
  • 主网的赞助方地址为 SP1PMPPVCMVW96FSWFV30KJQ4MNBMZ8MRWR3JWQ7。
  • 钱包操作需要已解锁的钱包(请先运行 bun run wallet/wallet.ts unlock)。

评论

支持 Markdown