美文网首页
区块链EOS|智能合约入门2——部署token合约并发行、交易币

区块链EOS|智能合约入门2——部署token合约并发行、交易币

作者: 十里寻枫 | 来源:发表于2020-04-27 01:41 被阅读0次

1. 获取token合约
首先将目录切换到放合约到文件夹。

cd /Users/yourUserName/Documents/EOS/contracts

接着获取合约。

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

这时候你的目录下会多出一个叫eosio.contract的文件夹,这个文件包含了一些合约,在本文中只需要用到eosio.token合约,故切换到该目录下。

cd eosio.contracts/contracts/eosio.token

2. 部署合约
在部署之前,创建一个叫eosio.token的账户,后续将token合约部署到该账户上。这里用EOS的开发公钥创建该用户。

cleos create account eosio eosio.token EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV

接着编译toekn合约。

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

然后部署到eosio.token账户上。

cleos set contract eosio.token /Users/yourUserName/Documents/EOS/contracts/eosio.contracts/contracts/eosio.token --abi eosio.token.abi -p eosio.token@active

3. 创造token

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

该命令行执行了eosio.token合约中的create方法,该方法需要两个参数——发行者和最大发行量。此时alice具有发行token到权力,但最多只能发行1000000000.0000个SYS币。
*create方法名如下,具体源码可以在eosio.token/src/eosio.token.cpp文件中找到。

void token::create( const name&   issuer, const asset&  maximum_supply )
{
    ...
}

4. 发行token

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

该命令执行了eosi.token中到issue方法,该方法需要三个参数——接收者,币的数量,备注。
此时,alice发行并拥有了100.0000个SYS。
*issue方法名及参数如下,具体源码同样可以在eosio.token/src/eosio.token.cpp文件中找到。

void token::issue( const name& to, const asset& quantity, const string& memo )
{
    ...
}

输出结果如下

executed transaction: d1466bb28eb63a9328d92ddddc660461a16c405dffc500ce4a75a10aa173347a  128 bytes  205 us
#   eosio.token <= eosio.token::issue           {"to":"alice","quantity":"100.0000 SYS","memo":"memo"}
warning: transaction executed locally, but may not be confirmed by the network yet         ]。

5. 交易token
此时,alice想要给bob转25个SYS,可以执行以下命令。

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

*transfer方法的源码同样可以在同样的地方找到。
为了验证币是否成功转发,执行以下命令。

cleos get currency balance eosio.token bob SYS

输出结果。

25.0000 SYS

同样可以验证alice只剩75.000 SYS。


注:转自CSDN文章

相关文章

网友评论

      本文标题:区块链EOS|智能合约入门2——部署token合约并发行、交易币

      本文链接:https://www.haomeiwen.com/subject/cckewhtx.html