EOS学习笔记(三)部署-发布-转账

1.创建一个用来存储合约的文件夹到合约目录中  

   cd contract

  下载eosio.contract源码

  git clone https://github.com/EOSIO/eosio.contracts --branch v1.4.0 --single-branch

 2.为合约创建一个账户

我们需要创建一个账户来发布代币合约,用eosio来创建这个账户

cleos create account eosio eosio.token EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV

之前需要解锁钱包

3.编译合约

eosio-cpp -I include -o eosio.token.wasm src/eosio.token.cpp --abigen

4.部署代币合约

cleos set contract eosio.token contract/eosio.contracts/eosio.token --abi eosio.token.abi -p eosio.token@active

执行结果

Reading WASM from ...

Publishing contract...

executed transaction: 69c68b1bd5d61a0cc146b11e89e11f02527f24e4b240731c4003ad1dc0c87c2c  9696 bytes  6290 us

#        eosio <= eosio::setcode              {"account":"eosio.token","vmtype":0,"vmversion":0,"code":"0061736d0100000001aa011c60037f7e7f0060047f...

#        eosio <= eosio::setabi                {"account":"eosio.token","abi":"0e656f73696f3a3a6162692f312e30000605636c6f73650002056f776e6572046e61...

warning: transaction executed locally, but may not be confirmed by the network yet        ]

5.创建代币

cleos push action eosio.token create '[ "eosio", "1000000000.0000 SYS"]' -p eosio.token@active

执行结果

executed transaction: 0e49a421f6e75f4c5e09dd738a02d3f51bd18a0cf31894f68d335cd70d9c0e12  120 bytes  1000 cycles

#eosio.token <= eosio.token::create          {"issuer":"eosio","maximum_supply":"1000000000.0000 SYS"}

这里:创建人人为eosio(一般都是eosio),创建总量:1000000000.0000,代币符号:SYS

6.发行代币

可以为之前创建的账号alice,发行代币

cleos push action eosio.token issue '[ "alice", "100.0000 SYS", "memo" ]' -p eosio@active

执行结果

executed transaction: 822a607a9196112831ecc2dc14ffb1722634f1749f3ac18b73ffacd41160b019  268 bytes  1000 cycles

#  eosio.token <= eosio.token::issue          {"to":"user","quantity":"100.0000 SYS","memo":"memo"}

>> issue

#  eosio.token <= eosio.token::transfer        {"from":"eosio","to":"user","quantity":"100.0000 SYS","memo":"memo"}

>> transfer

#        eosio <= eosio.token::transfer        {"from":"eosio","to":"user","quantity":"100.0000 SYS","memo":"memo"}

#          user <= eosio.token::transfer        {"from":"eosio","to":"user","quantity":"100.0000 SYS","memo":"memo"}

7.转发代币

用alice账户为bob账户转发代币

cleos push action eosio.token transfer '[ "alice", "bob", "25.0000 SYS", "m" ]' -p alice@active

执行结果

executed transaction: 06d0a99652c11637230d08a207520bf38066b8817ef7cafaab2f0344aafd7018  268 bytes  1000 cycles

#  eosio.token <= eosio.token::transfer        {"from":"alice","to":"bob","quantity":"25.0000 SYS","memo":"Here you go bob!"}

>> transfer

#          user <= eosio.token::transfer        {"from":"alice","to":"bob","quantity":"25.0000 SYS","memo":"Here you go bob!"}

#        tester <= eosio.token::transfer        {"from":"alice","to":"bob","quantity":"25.0000 SYS","memo":"Here you go bob!"}

检查发现

cleos get currency balance eosio.token bob SYS

25.00 SYS

cleos get currency balance eosio.token alice SYS

75.00 SYS

你可能感兴趣的:(EOS学习笔记(三)部署-发布-转账)