cardano-cli查询Cardano测试网返回DecoderFailure错误问题咨询
报错核心原因
该报错本质是本地cardano-cli版本与Daedalus内置运行的Cardano节点版本不匹配,具体触发逻辑如下:
- 你本地使用的cardano-cli版本较低,内置支持的硬分叉时代(Era)列表最高仅到Mary Era,对应Era索引为3;当前Cardano测试网已经完成Alonzo、Babbage等后续时代的硬分叉,Daedalus运行的节点已经处于索引为4的Alonzo及更高时代,旧版cli解析节点返回的Era索引时无法识别4这个值,就抛出了对应的 deserialise 解码错误。
cardano-cli get-tip是更高版本cli新增的兼容性实现,该命令的解码逻辑做了前向兼容处理,不需要依赖内置的硬分叉Era列表做严格校验,因此即使版本存在小差异也能正常解析节点返回的出块tip数据。
需要检查的配置/修复方案
- 核对版本匹配性:分别执行
cardano-cli --version查看本地cli版本,在Daedalus关于页面查看内置节点的版本,确保两者大版本号一致(如均为1.35.x或8.x系列),大版本差异超过1个次版本就会出现Era解码不兼容问题,升级本地cardano-cli到和节点一致的版本即可直接解决报错。 - 临时兼容方案:如果暂时无法升级cli,可以给
query tip命令手动指定当前节点运行的Era参数,强制cli用对应Era的规则解码返回数据,例如当前测试网运行在Babbage Era,命令改为:cardano-cli query tip --testnet-magic 1097911063 --babbage-era - 检查socket路径配置:确认环境变量
CARDANO_NODE_SOCKET_PATH指向的是Daedalus运行时生成的socket文件路径,避免误连其他版本的节点。
内容的提问来源于stack exchange,提问作者Nuno Lopes
相关产品推荐
相关产品推荐

