EOS 部署、发行代币Token

创建系统账号 eosio.token

必须显使用eosio 创建系统账户 eosio.token ,否则无法使用cleos get currency balance获取普通账户余额

cleos create account eosio eosio.token EOS6QBdS5gSxe9HXw6BukZkUR2Ja6wAmNA5UjtddLZRYUA5AvAgfk

编译代币合约eosio.token

拉取EOS 官方合约仓库,编译生成
eosio.token.abieosio.token.wasm

 wujinquan@wujinquandeMacBook-Pro  ~/workspace/eos/contract/eosio.contracts/contracts/eosio.token  ➦ 52fbd4a  ls
CMakeLists.txt   eosio.token.abi  eosio.token.wasm include          ricardian        src
 wujinquan@wujinquandeMacBook-Pro  ~/workspace/eos/contract/eosio.contracts/contracts/eosio.token  ➦ 52fbd4a  eosio-cpp -I include -o eosio.token.wasm src/eosio.token.cpp --abigen
Warning, empty ricardian clause file
Warning, empty ricardian clause file
Warning, action <create> does not have a ricardian contract
Warning, action <issue> does not have a ricardian contract
Warning, action <retire> does not have a ricardian contract
Warning, action <transfer> does not have a ricardian contract
Warning, action <open> does not have a ricardian contract
Warning, action <close> does not have a ricardian contract
Warning, action <create> does not have a ricardian contract
Warning, action <issue> does not have a ricardian contract
Warning, action <retire> does not have a ricardian contract
Warning, action <transfer> does not have a ricardian contract
Warning, action <open> does not have a ricardian contract
Warning, action <close> does not have a ricardian contract
 wujinquan@wujinquandeMacBook-Pro  ~/workspace/eos/contract/eosio.contracts/contracts/eosio.token  ➦ 52fbd4a  ll
total 64
-rwxr-xr-x  1 wujinquan  staff   564B  9  9 17:18 CMakeLists.txt
-rw-r--r--  1 wujinquan  staff   4.3K 11  5 16:01 eosio.token.abi
-rwxr-xr-x  1 wujinquan  staff    17K 11  5 16:01 eosio.token.wasm
drwxr-xr-x  3 wujinquan  staff    96B  9  9 17:18 include
drwxr-xr-x  3 wujinquan  staff    96B  9  9 17:18 ricardian
drwxr-xr-x  3 wujinquan  staff    96B  9  9 17:18 src
 wujinquan@wujinquandeMacBook-Pro  ~/workspace/eos/contract/eosio.contracts/contracts/eosio.token  ➦ 52fbd4a 

部署合约

表示将合约部署在eosio.token账户上,eosio.token也是合约的唯一标识

 ✘ wujinquan@wujinquandeMacBook-Pro  ~/workspace/eos/contract/eosio.contracts  ➦ 52fbd4a  cleos set contract eosio.token contracts/eosio.token --abi eosio.token.abi -p eosio.token@active
Reading WASM from /Users/wujinquan/workspace/eos/contract/eosio.contracts/contracts/eosio.token/eosio.token.wasm...
Publishing contract...
executed transaction: b04ebeddd49f79be88a2add08e2842d87d60a4d9dda24887d6cc5b83fc31297f  6984 bytes  1609 us
#         eosio <= eosio::setcode               {"account":"eosio.token","vmtype":0,"vmversion":0,"code":"0061736d0100000001a0011b60000060017e006002...
#         eosio <= eosio::setabi                {"account":"eosio.token","abi":"0e656f73696f3a3a6162692f312e310008076163636f756e7400010762616c616e63...
warning: transaction executed locally, but may not be confirmed by the network yet         ]
 wujinquan@wujinquandeMacBook-Pro  ~/workspace/eos/contract/eosio.contracts  ➦ 52fbd4a 

创建Token

使用eosio.tokenwujinquan 创建token,最大数量1000000000.0000 SYS
wujinquanissuer,此交易的签名者为eosio.token

 wujinquan@wujinquandeMacBook-Pro  ~/workspace/eos/contract/eosio.contracts  ➦ 52fbd4a  cleos push action eosio.token create '[ "wujinquan", "1000000000.0000 SYS"]' -p eosio.token@active
executed transaction: 4a077b669c10ed87b769c4e798043ec57cb28e1d2eecf36be95fb7655e4a2841  120 bytes  360 us
#   eosio.token <= eosio.token::create          {"issuer":"wujinquan","maximum_supply":"1000000000.0000 SYS"}
warning: transaction executed locally, but may not be confirmed by the network yet

发行Token

由于上一步指定wujinquan作为发行人,所以使用wujinquan发行100.0000 SYS ,此交易签名者为wujinquan

 ✘ wujinquan@wujinquandeMacBook-Pro  ~/workspace/eos/contract/eosio.contracts  ➦ 52fbd4a  cleos push action eosio.token issue '[ "wujinquan", "100.0000 SYS", "memo" ]' -p wujinquan@active
executed transaction: 480072b474eddce8e098c563ddf0fbb8453b0af91c22dba22be950bcb2d0d469  128 bytes  250 us
#   eosio.token <= eosio.token::issue           {"to":"wujinquan","quantity":"100.0000 SYS","memo":"memo"}
warning: transaction executed locally, but may not be confirmed by the network yet         ]

对Token进行转账

将上一步中wujinquan100.0000 SYS 转给wujinquan1 25.0000 SYS

 ✘ wujinquan@wujinquandeMacBook-Pro  ~/workspace/eos/contract/eosio.contracts  ➦ 52fbd4a  cleos push action eosio.token transfer '[ "wujinquan", "wujinquan1", "25.0000 SYS", "m" ]' -p wujinquan@active
executed transaction: 77c7592401f8fbbc4ccbece46539dd8c64b0931eef43d95d271312c76986b6b5  128 bytes  221 us
#   eosio.token <= eosio.token::transfer        {"from":"wujinquan","to":"wujinquan1","quantity":"25.0000 SYS","memo":"m"}
#     wujinquan <= eosio.token::transfer        {"from":"wujinquan","to":"wujinquan1","quantity":"25.0000 SYS","memo":"m"}
#    wujinquan1 <= eosio.token::transfer        {"from":"wujinquan","to":"wujinquan1","quantity":"25.0000 SYS","memo":"m"}
warning: transaction executed locally, but may not be confirmed by the network yet         ]

查询 wujinquanwujinquan1Token余额

 wujinquan@wujinquandeMacBook-Pro  ~/workspace/eos/contract/eosio.contracts  ➦ 52fbd4a  cleos get currency balance eosio.token wujinquan1 SYS
25.0000 SYS
 wujinquan@wujinquandeMacBook-Pro  ~/workspace/eos/contract/eosio.contracts  ➦ 52fbd4a  cleos get currency balance eosio.token wujinquan SYS
75.0000 SYS
发布了32 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/u010159567/article/details/102917664
eos