Pagoda Relayer实现运行时抛出422 Unprocessable Entity服务器错误
问题:运行Pagoda Relayer转账脚本时出现422错误
环境说明
- 本地部署了
near/pagoda-relayer-rs仓库的Pagoda relayer服务 - 使用自定义JS脚本尝试通过relayer执行NEAR转账操作
错误信息
运行脚本后收到如下422(Unprocessable Entity)错误:
Response { size: 0, timeout: 0, [Symbol(Body internals)]: { body: PassThrough { _readableState: [ReadableState], _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, _writableState: [WritableState], allowHalfOpen: true, [Symbol(kCapture)]: false, [Symbol(kCallback)]: null }, disturbed: false, error: null }, [Symbol(Response internals)]: { url: 'http://127.0.0.1:3030/relay', status: 422, statusText: 'Unprocessable Entity', headers: Headers { [Symbol(map)]: [Object: null prototype] }, counter: 0 } }
排查建议
- 检查请求格式匹配度:422错误核心是请求体不符合API规范,核对脚本中的请求参数(如交易数据、签名、链标识等)的字段名、数据类型是否完全符合relayer的要求,比如是否遗漏必填字段、是否需要将某些数据转为十六进制格式。
- 验证交易签名有效性:确认脚本生成的交易签名使用的私钥对应转账发起账户,同时检查交易的nonce、过期时间等参数是否符合NEAR网络规则,签名过程是否正确。
- 确认Relayer服务状态:检查本地relayer是否正常运行,端口3030是否可访问,可尝试发送简单请求验证服务可用性。
- 核对网络一致性:确保relayer连接的NEAR网络(主网/测试网)和脚本使用的网络完全一致,避免跨网络请求导致的不兼容。
- 查看Relayer运行日志:本地relayer的日志会记录详细错误原因,比如哪个字段格式错误、签名验证失败等,这是快速定位问题的关键。
内容的提问来源于stack exchange,提问作者Jaswinder Singh
相关产品推荐
相关产品推荐

