Ошибка 3070003: ошибка сериализации при обработке WASM
Я компилирую hello.cpp в папке примеров в eosio.cdt версии 1.3.1, которая имеет много обновлений по сравнению с версией 1.2.X. затем полностью следуйте инструкциям по умным контрактам в https://developers.eos.io/eosio-home/docs/your-first-contract. Компиляция завершается без ошибок, но когда я загружаю контракт в nodeos(версия 1.3.2-dirty),
скомпилировать cpp: eosio-cpp -abigen hello.cpp -o hello.wasm
установить договор: cleos set contract hello ./hello -p hello@active
Я получил: Error 3070003: Serialization Error Processing WASM
Nodeos поднять ошибку:
2018-10-17T05:55:10.012 thread-0 http_plugin.cpp:580 handle_exception ] FC Exception encountered while processing chain.push_transaction
2018-10-17T05:55:10.013 thread-0 http_plugin.cpp:581 handle_exception ] Exception Details: 3070003 wasm_serialization_error: Serialization Error Processing WASM
mutable globals cannot be imported: globalImport.type.isMutable{}
thread-0 wasm_interface.cpp:42 validate pending console output:{"console":""}
thread-0 apply_context.cpp:61 exec_one
Кто-нибудь может помочь? Большое спасибо. Я могу загрузить и запустить демо hello на nodeos и eosio-cpp версии 1.3.1, но после обновления что-то идет не так.
1 ответ
Ответь самому себе. кажется, что файлы wasm&abi, скомпилированные eosio-cpp, не принимаются текущей версией nodeos. используйте вместо этого eosiocpp, и проблема решена. Я не знаю, почему это произошло, потому что eosio-cpp рекомендуется официально