问题描述
- HTTP Status:200
- 错误描述:status=2,交易失败。
message:failed to execute message:message index:0:denomID xxx has already exists:invalid denom
问题产生原因
denom_id (类别标识)在文昌链上已经存在,由不同的方式创建时没有校验到这个存在的 denom_id,共识机制打包上链发现已经存在 denom 导致上链失败。
例:
Avata 测试环境不定期清理数据,由于链上数据记录仍然存在,库中数据已经清除,
重新创建时沿用之前的类别id,就会出现请求成功,上链失败这种情况。
解决方法
-
可以现在浏览器上查询该类别标识(class_id)是否能够查询到
-
通过查询类别接口确定是否存在。
-
以上都查询不到可以使用该类别标识(class_id),反之修改类别或者不自定义类别,由链上自动创建。
tip:在Avata api对接中,生产环境基本上不会出现该问题;
由于测试环境不定期清理数据可能会出现该问题。
相似问题可借鉴解决方法3。