I compile hello.cpp in the examples folder in eosio.cdt version1.3.1, which has a lot of updates compares to version 1.2.X. then completely follow the smart contracts tutorials in https://developers.eos.io/eosio-home/docs/your-first-contract. Compile succeeds without error, but when I upload the contract to nodeos(version 1.3.2-dirty),

compile cpp: eosio-cpp -abigen hello.cpp -o hello.wasm

set contract: cleos set contract hello ./hello -p hello@active

I get : Error 3070003: Serialization Error Processing WASM

Nodeos raise error:

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

Can anyone help? Thanks a lot. I can upload and run the hello demo on nodeos and eosio-cpp version 1.3.1, but something goes wrong after updating.


answer myslef. it seems that wasm&abi files compiled by eosio-cpp is not acceptable by current nodeos version. use eosiocpp instead and the issue is solved. I don't known why this happend cause the eosio-cpp is recommended officially

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.