EOS合約踩坑之旅の持續更新
阿新 • • 發佈:2019-01-13
溫馨提示:使用右導航欄的目錄可以快速定位哦,或者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)