关于 relay-diagnostic
relay-diagnostic 面向运维人员,用于检查赞助方中继状态并恢复卡住的赞助交易。它将只读 nonce 诊断与需要钱包授权的恢复操作分开。
主要功能
- 01读取中继版本与健康状态
- 02检查赞助方 nonce 状态
- 03识别 nonce 缺口和卡住的交易
- 04通过 RBF 或补缺恢复
- 05指定交易 ID 或 nonce
适用场景
- 01恢复前检查中继状态
- 02查找赞助方 nonce 序列缺口
- 03重试指定的卡住交易
- 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