EOS合约踩坑之旅の持续更新

版权声明:版权属 ©胖子ღ牛逼,微信:xuewen-weiboweixin https://blog.csdn.net/z_xuewen/article/details/84991901

温馨提示:使用右导航栏的目录可以快速定位哦,或者CTRL+F进行关键词搜索哈!


1、Unable to generate abi false: Unable to guess index type

查了很久才发现是索引问题导致的!!!

解决:检查合约表的索引类型是否错误,table的索引目前只支持 uint64_t 类型。


2、通知拦截器不起作用的问题

解决:在合约中加入transfer通知拦截器,不起作用。注意合约底部的EOSIO_ABI,需要使用 EOSIO_ABI_EX,否则拦截器不起作用。


3、unable to find key

在使用内联函数get_balance时可能会出现的错误,是因为去获取余额时,如果该代币的余额为0即在accounts表中不存在该用户的数据,源码中会进行中断而不是返回0,就有了unable to find key的错误。

解决:改用查表的方式获取余额


4、error: C++ requires a type specifier for all declarations

     error: expected function body after function declarator

解决:使用EOSIO_ABI_EX必须要有apply引入,否则改用EOSIO_ABI 


5、deadline exceeded错误

解决:可能action逻辑中有死循环导致的,仔细检查下代码


6、Replacing a deferred transaction is temporarily disabled.错误

解决:执行延时事务时替换id失败提示的错误,可以在替换id前将上一条延时事务删掉。cancel_deferred(id)


猜你喜欢

转载自blog.csdn.net/z_xuewen/article/details/84991901