跟随大家学习编程语言一样,每次都会首先写一段代码,打印“hello,wrold”。通过对EOS的学习,今天将编译一个简单的hello智能合约部署到EOS私有链上。
1.EOS智能合约简介
之前学习过ETH,下面我将两者的智能合约进行简单的对比。
ETH | EOS | |
---|---|---|
编程语言 | solidity 语言开发,类似js语言 | C++ |
编译工具 | solc | eosio-cpp |
部署方式 | hello=(web3.eth.contract([…])).new({…}) | cleos set contract hello DIR/hello -p hello@active |
调用方法 | hello.hi.sendTransaction(…) | cleos push action hello hi ‘[“bob”]’ -p bob@active |
费用 | 部署合约以及交易均收取手续费 | 部署和交易均无费用,但是需要账户抵押eos来获取内存,网络和cpu |
账户 | 部署后生成一个合约账户,合约不可更改 | 无合约账户概念,每个用户只能部署一个合约,合约可更新 |
2.编译环境的搭建
EOS智能合约通过eosio-cpp编译工具编译生成WASM字节码和对应的ABI。具体命令如下:
eosio-cpp -o he