【三胖聊区块链-EOS】(四)EOS入门系列-初识智能合约

300 阅读1分钟

EOS智能合约API中文手册: 点此进入

咱们就开门见山的说明EOS智能合约开发的具体结构,打包,部署命令吧

1.头文件

EOSIO智能合约采用C++语言开发,需要导入头文件
#include <eosio/eosio.hpp>

2.命名空间

设置命名空间
using namespace eosio;

3.智能合约主体

创建标准C++类,开始智能合约,例子

#include <eosio/eosio.hpp>
using namespace eosio;
class [[eosio::contract]] hello : public contract {
  public:
      using contract::contract;
      [[eosio::action]]
      void hi( name user ) {
         print( "Hello, ", user);
      }
};

4.编译

将代码编译为.wasm文件,例如
eosio-cpp hello.cpp -o hello.wasm
--abigen:会生成abi文件

5.创建账户

为合约创建账户,使用公钥

cleos create account eosio hello 
EOS5Gy7y6nT7RXckDPFKYmfAvDYZ5kJUSPDRFJTj4itaxcHXzvfdR -p eosio@active

6.部署合约

cleos set contract hello CONTRACTS_DIR/hello -p hello@active
CONTRACTS_DIR指的是放智能合约的路径

7.重新编译合约

当合约内容有变动的时候,需要重新编译
eosio-cpp -abigen -o hello.wasm hello.cpp

8.更新部署合同

重新编译好后需要再次部署合约
cleos set contract hello CONTRACTS_DIR/hello -p hello@active

9.访问合约

cleos push action hello hi '["bob"]' -p bob@active

更多

想了解更多,请关注公众号哦!