1. 程式人生 > >EOS合約踩坑之旅の持續更新

EOS合約踩坑之旅の持續更新

溫馨提示:使用右導航欄的目錄可以快速定位哦,或者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)