首页 > EOS柚子 > 正文

EOS开发完全解析(四):EOS快速发币,何以圈钱?唯有发币!

币圈浪哥  2018-10-28  EOS/EOS柚子栏目  

  一、前言 “不要跟我谈什么狗屁爱情故事,我现在只想搞钱!”

这可能是大部分韭菜的心声,既然要搞钱,就要弄明白,币圈搞啥来钱快,没错,就是发币!

  二、发币 在EOS上发币和在ETH上发币一样,都非常简单。在eos上发币我们主要用到一个叫eosio.token的智能合约,该合约运行创建许多不同的token,每个token可以由不同的用户管理。

  在我们部署token合约之前,首先需要创建一个账号来管理合约。

  2.1 创建账号 我们这里创建3个账号用于测试,分别是eosio.token、langge111111和langge222222。其中eosio.token用来部署合约,另外两个账号用来测试转账。

  ./cleos create account eosio eosio.token EOS75bGH5NwCen69GczAgGkg9vVVMQAdqDDqNeZHAyxX2TxDMP5tT EOS6u5pwb64P9HshRcWHFixgtU8WAE3yNHDjFJwKwLcuWYq4p1h1x

  如何创建账号之前章节已经讲得很详细了,这里不再赘述,不明白的童鞋可以回去复习一下前面的章节。

  EOS开发完全解析(三):EOS账号创建

创建eosio.token账号 这里我们成功创建了eosio.token这个账号

  由于所有的操作都要基于钱包,所以,我们需要先把账号导入到钱包。

  ./cleos wallet import -n eosio.token --private-key 5K3rGTJvymup1nXhbZM9aYNnRr5y9shtzCmDmTB5vREA1ujmv8E

  EOS开发完全解析(二):用cleos命令行创建、导入、解锁钱包

导入eosio.token到钱包 2.2 部署eosio.token合约 ./cleos set cONTract eosio.token ~/eos/build/contracts/eosio.token -p eosio.token

  第一个eosio.token是部署合约的账号,第二个eosio.token是要部署的合约,-p eosio.token的意思是授权账号为eosio.token

部署eosio.token合约 2.3 创建代币 eosio.token这个合约在~/eos/contracts/eosio.token这个目录下面,我们看一下他的文件结构

eosio.token合约文件 我们打开eosio.token.hpp这个C 头文件可以看到提供了如下几个公共方法,我把它们加上了注释,这样便于大家理解。

  1/* 2*创建token 3**issuer发行人 4**maximum_supplytoken总量 5*/ 6voidcreate(account_nameissuer,assetmaximum_supply); 7/* 8*发币,合约所有者使用操作 9**to接收账户 10**quantity发送数量 11**memo备注 12*/ 13voidissue(account_nameto,assetquantity,stringmemo); 14/* 15*转账,普通用户也可以 16**from发送账户 17**to接收账户 18**quantity发送数量 19**memo备注 20*/ 21voidtransfer(account_namefrom,account_nameto,assetquantity,stringmemo) 22 要创建代币,我们这里只需要使用create()方法即可,参数issue为发行人,发行人将有权执行冻结,召回和列入所有者白名单等操作。

  执行create()方法,

  ./cleos push action eosio.token create '["eosio","100000000.00 LG"]' -p eosio.token

  这段命令是指用eosio.token这个账号执行create()方法,传的参数为eosio和100000000.00 LG,最后是授权,默认为active权限。意思是为eosio这个账号创建100000000.00个LG,精度为2位小数。

eos创建代币 2.4 发送代币 ./cleos push action eosio.token issue '["langge111111","10000.00 LG","airdrop"]' -p eosio -j

  这段指令是为langge111111这个账号发送10000.00个LG,备注为“空投”,同时以json格式输出。

发送代币 这里打印内容有点多,我只截取了部分。我们现在来查询一下余额,看看是否已经到账。

  ./cleos get currency balance eosio.token langge111111

  我们可以看到,langge111111这个账号已经有10000.00个LG了,而另外两个账号的LG为零。

查询eos账号余额1 不知道大家有没有发现一个神奇的现象,浪哥创建tokne的时候,明明指定了token所有者为eosio这个账号,但是查询余额的时候,为啥它的LG余额也为0呢?

  产生这个问题的原因是因为创建代币的时候,只是指定了该代币的所有者为eosio这个账号,而真正发送代币还需要调用issue方法。

  接下来我们再执行一次issue方法,为eosio这个账号发送5000.00个LG。

  温馨提示:eos钱包在长时间未操作会自动锁定,这个间隔大概是几分钟,所以继续操作之前需要重新解锁钱包。

发送LG给eosio 再次查询余额,这时候就到账了。

2.5 转账 ./cleos push action eosio.token transfer '["langge111111","langge222222","5000.00 LG","test transfer"]' -p langge111111

  从账号langge111111转5000.00个LG到账号langge222222。

eos转账 再来查询一下余额,安排上了,整整齐齐。

eos余额查询2 温馨提示:不管是调用issue()还是transfer()方法,发送token的精度必须与create()时的精度一致,否则会操作失败。

  三、总结 至此,我们已经掌握了eos全套发币流程,是不是相当easy,比在ETH上发币有过之而无不及吧?币发完之后,接下来我们该干嘛?

  这个就见仁见智了,不过,浪哥只有一个要求:圈钱被维权了不要说看的浪哥的发币教程就ok了。

  下一讲浪哥将讲述如何做事之——手摸手实现一个eos智能合约。

  毕竟,我们是做事的团队……

EOS开发系列教材推荐

  EOS开发完全解析(一):Ubuntu上搭建EOS开发环境

  EOS开发完全解析(二):用cleos命令行创建、导入、解锁钱包

  EOS开发完全解析(三):EOS账号创建

  获取最新、最全的EOS开发教程请关注微信公众号:区块链浪潮之巅——一个集项目分析与区块链技术开发于一体的公众号。

版权信息
作者:币圈浪哥
来源:区块链浪潮之巅

关于我们

联系我们

作者进驻

手机版

Copyright © 2013 比特巴 www.btb8.com
始建于2013年,提供比特币 区块链及数字货币新闻、技术教程、测评、项目周报、人物等资讯
本页面提供的是EOS教程资讯,EOS币为区块链奇才BM领导开发的类似操作系统的区块链架构平台,旨在实现分布式应用的性能扩展。