本地Hedera JSON-RPC中继部署合约报错88,切换ValidationCloud正常求解决
解决Hedera JSON-RPC中继的RequestType.fromCode() 88错误
针对你遇到的Error invoking RPC: (BUG) RequestType.fromCode() does not handle code: 88错误,以下是具体的中继配置调整方案:
检查并启用所需RPC方法
错误码88意味着你的web3.js调用触发了中继未注册的请求类型。打开本地EC2中继的配置文件(通常是config.json),找到enabledMethods配置项,确保包含以下方法:eth_sendTransactioneth_sendRawTransactioneth_deployContract(若涉及合约部署)
保存配置后重启中继服务。
更新RequestType枚举映射
若你使用的是自定义或旧版本中继,可能存在RequestType枚举未覆盖代码88的情况。修改中继代码中的RequestType枚举,添加对应条目并完善fromCode()方法的处理逻辑:enum RequestType { // 保留原有枚举项 ETH_SEND_RAW_TRANSACTION = 88, } // 完善fromCode方法 static fromCode(code: number): RequestType { switch(code) { // 原有case逻辑 case 88: return RequestType.ETH_SEND_RAW_TRANSACTION; default: throw new Error(`RequestType.fromCode() does not handle code: ${code}`); } }升级中继至最新稳定版
该错误属于旧版Hedera JSON-RPC中继的已知BUG,官方已在新版本中修复。将EC2上的本地中继升级到官方最新release版本,新版本会覆盖更多请求类型的映射,无需手动修改枚举。验证ValidationCloud中继的权限配置
切换到ValidationCloud后仍报错,说明你调用的RPC方法可能未在其后台启用。登录ValidationCloud控制台,找到对应的中继实例,确保eth_sendTransaction和eth_sendRawTransaction方法已被添加到允许列表中。规范web3.js调用参数
确保你的交易调用符合Hedera JSON-RPC规范:- gasLimit设置不超过Hedera区块上限(默认3000000)
- 链ID配置正确(测试网296,主网295)
- 交易签名遵循EIP-155标准,避免格式不兼容问题
内容的提问来源于stack exchange,提问作者Valli Nayaki Chidambaram
相关产品推荐
相关产品推荐

