EOS的智能合约与以太坊区别很大,EOS的智能合约基于WebAssembly(WASM)技术执行用户生成的应用程序和代码。WASM是一项新的网络标准,得到了谷歌、微软、苹果等公司的广泛支持。目前,用于构建编译为WASM的应用程序的最成熟的工具链是使用了C/C++编译器的chang/llvm.目前EOS的智能合约仅支持C和C++编写。
在进行合约操作之前,我们还需要一些准备工作,如果你的私有节点没有创建钱包和账户那么首先需要创建钱包和账户。
一、创建钱包:
cleos wallet create [-n walletname] //[]是可以省略
二、创建KEY
cleos create key
三、创建账户
cleos create account eosio account_name ownerkey activekey
四、导入钱包(钱包和账户关联)
cleos wallet import privatekey
完成以上四步的账户就可以发布智能合约了。
进到HelloWorld目录下
五、生产wast文件
eosiocpp -o xx.wast xx.cpp
六、生产abi文件
eosiocpp -g xx.abi xx.cpp
七、部署智能合约指令
cleos set contract account_name account_dir
八、调用hi
cleos push action zhangsan hi `{"user":"xiaoming"}` -p zhangsan