开言:此教材只是个人学习过程记录自己理解和各种坑如有问题可提出修正,个人注重是开发动手,小白,写也是为了重复加深印象,目标此教学习实现开发一个EOS小游戏,坚持.......
环境: Mac+EOS-1.3.0
任务:如题发币
(1).创建两个账号。不会的可以看上篇创建用户。
(2).部署合约。
1.查看下账号是否已经部署过合约 : cleos get code 账号
"000000000...."表示还没部署新账号。
2.eos本身自带了一个发币合约:eosio.token.(编译)
需要先编译合约使用eosiocpp ,需要注意的是在docker里面编译部署合约必须是在容器下面的路径,所以要映射一个路径,不然就要进入到容器里面去执行操作。这里使用的是第一种办法,而且是直接编写.sh文件执行(能简单化的就简单化!)。
(执行之前先确保自己钱包已经解锁, MakeContract.sh 源码后面放出来!)
MakeContract.sh aaaa.eos eosio.token true
说下这个命令:MakeContract.sh 部署的账号 合约 是否直接部署到链上
合约就编译成功并且部署上链了,会生成一个.abi , .wasm ,.wast 文件。
再次使用cleos get code aaaa.eos 就看到神奇的一幕了。
3.创建币。 cleos push action 合约名 create '{"issuer":"发布者", "maximum_supply": "数量(小数4位) 名称", "can_freeze": 1, "can_recall": 1, "can_whitelist": 1}' -p 发布者@权限
cleos push action aaaa.eos create '{"issuer":"aaaa.eos", "maximum_supply": "1000000000.0000 TKB", "can_freeze": 1, "can_recall": 1, "can_whitelist": 1}' -p aaaa.eos@active
4.发币:cleos push action 发币合约 issue '[ "发币用户", "数量 币代号", "memo" ]' -p 发币用户
5.查看发币情况 cleos get currency stats 发币合约 '币代号'
6.查看用户余额 cleos get table 发币合约 用户 accounts
到这里发币已经完成,但是在发币过程遇到一个eos.token的bug!下章!