【200】执行失败

问题描述

  • 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,就会出现请求成功,上链失败这种情况。

解决方法

  1. 可以现在浏览器上查询该类别标识(class_id)是否能够查询到

  2. 通过查询类别接口确定是否存在。

  3. 以上都查询不到可以使用该类别标识(class_id),反之修改类别或者不自定义类别,由链上自动创建。

tip:在Avata api对接中,生产环境基本上不会出现该问题;
     由于测试环境不定期清理数据可能会出现该问题。
     相似问题可借鉴解决方法3。