美文网首页程序员
Error 3050003: eosio_assert_mess

Error 3050003: eosio_assert_mess

作者: 小亮光 | 来源:发表于2019-01-31 17:05 被阅读4次

    在调用 cleos push action actionx时,出现

    Error 3050003: eosio_assert_message assertion failure 

    Error Details: 

    assertion failure with message: read 

    只要在actionx中出现对Table的迭代器访问,就会出现这个错误提示

    开头几次调用push  actionx是没有问题的,然后一边添加业务逻辑,一边修改Table的数据结构,直到出现了这个问题,怀疑与表结构数据不一致有关。

    尝试一:清空表数据,创建clear table的action然后调用之,

    没有惊喜,push action clear 本身就会触发这个错误,尝试失败。

    尝试二:删除合约

    cleos -uhttp://jungle2.cryptolions.io:80 set contract myaccount ../mycontract --clear

    表成功删除,但调用push action actionx错误仍然存在。

    可能是TABLE的错误太严重了,只好用另外一个测试账户重新发布合约

    然后再调用合约的 actions,此错误不再出现。

    经验:在修改表的数据结构之前,需要先调用erase删除以前的表结构及数据,这之后才可调用emplace,push_back等增加数据条目。

    相关文章

      网友评论

        本文标题:Error 3050003: eosio_assert_mess

        本文链接:https://www.haomeiwen.com/subject/vkxlsqtx.html