美文网首页
【技术笔记】在EOS主网如何发币?

【技术笔记】在EOS主网如何发币?

作者: 天天天1234 | 来源:发表于2019-03-04 09:47 被阅读39次

    1、运行Docker,连接EOS主网

    跟抢注EOS账号名的前期准备工作差不多,需要先安装Docker和EOS。具体操作和可能会遇到的一些坑就不一一赘述了

    对于已经利用Cleos抢注EOS账号名,可以直接往下看。(天晓用的是Ubuntu,需要先打开终端。CentOS之类的Linux系统,使用的命令也差不多。)

    先运行Docker:

    sudo service docker start

    如果之前抢注EOS账号名时创建过keosd,那么这次需要先删除keosd容器

    docker stop keosd

    docker rm keosd

    接下来的几步跟昨天那些差不多,就是先创建keosd容器,启动服务。

    docker run -d --restart=unless-stopped --name keosd \

    -v /data/eosio/eosio-wallet:/opt/eosio/bin/data-dir \

    -v /data/eosio/eosio-wallet:/root/eosio-wallet \

    -t eosio/eos /opt/eosio/bin/keosd \

    --wallet-dir /opt/eosio/bin/data-dir \

    --http-server-address=127.0.0.1:8900

    创建EOS的命令行工具cleos,并链接到EOS主网。昨天有小伙伴“WaYung”留言“http://mainnet.genereos.io”的连接速度比较快。

    alias cleos='docker exec -i keosd /opt/eosio/bin/cleos --wallet-url http://127.0.0.1:8900 -u http://mainnet.genereos.io '

    这个链接是来自澳大利亚超级节点候选者GenerEOS提供的,比较可信的。不过,不管是来自哪的链接,都必须用以下命令查看主网信息再确认一次。

    cleos get info

    仔细确认chain_id是否完全符合aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906,这才可以确认连接的EOS主网。

    2、解锁钱包,准备好资源

    因为本地钱包一段时间不使用,会自动锁定,所以要先输入以下命令

    cleos wallet unlock -n <本地钱包名>

    接着用钱包密码解锁,这样你才能在EOS主网上对本人账户进行各种操作。

    然后,注册代币发行账户

    cleos system newaccount --stake-net '0.1 EOS' --stake-cpu '0.1 EOS' --buy-ram-kbytes 200 \

    <本人账户名> <代币发行账户名> <代币发行账户公钥>

    这一步不是必须的,可以直接使用你昨天抢注的账号,比如天晓用的就是“xiaoxiaoxiao”。按以上命令重新注册新账号,有个好处就是帮你配好发币所需的资源了。如果系统提示资源不够,可以通过以下命令,抵押EOS,追加网络和CPU资源。

    cleos system delegatebw <本人账户名> <代币发行账户名> '0.1 EOS' '1 EOS'

    购买内存资源

    cleos system buyram <本人账户名> <代币发行账户名> '1 EOS'

    接着因为要在EOS主网上对“代币发行账户”进行操作,所以要创建一个本地钱包和保存密码,并导入“代币发行账户”对应的私钥。

    cleos wallet create -n <新的本地钱包>

    cleos wallet import -n <新的本地钱包> <代币发行账户对应的私钥>

    3、万事具备,开始发币

    现在可以开始最重要的步骤,部署代币合约。

    cleos set contract <代币发行账户名> contracts/eosio.token -p <代币发行账户名>

    “contracts/eosio.token”是系统自带的代币合约,可以不用自己通过C++编写,很方便。这一步,只要你的RAM资源足够,一般都没问题。不够的话,请看前面购买内存资源的命令。

    然后创建代币,指定发行人、最大发行量和代币名称。

    cleos push action <代币发行账户名> create \

    '{"issuer":"<代币发行账户名>", "maximum_supply":"100000000000.0000 <代币名称>"}' \

    -p <代币发行账户名>

    天晓在这一步犯了一个错误,代币名称随便用了“kkk”。其实在EOS上,代币名称必须是大写的。

    image

    接下来,就可以发行代币了。

    cleos push action <代币发行账户名> issue \

    '[ "<代币接收账户名>", "100000000.0000 <代币符号>", "memo" ]' \

    -p <代币发行账户名>

    那怎么看代币有没发到账号上?可以用以下指令

    cleos get currency balance <代币发行账户名> <代币接收账户名>

    如果你想把代币转给其他账户,那么采用以下命令

    cleos push action <代币发行账户名> transfer \

    '[ "<转出账户名>", "<转入账户名>", "10000 <代币符号>", "memo" ]' \

    -p <转出账户名>

    上面的“代币转账”命令,跟之前的“发行代币”比较类似,区别在于代币的转出方跟代币发行账户是不是同一个。

    这么个流程下来,空气币“XXX”正式诞生,非常简单。一开始没注意,就是随手写了个代币名称,后来才发现“XXX”不太雅……不介意的,评论留下EOS账号名的,天晓赠送10万空气币“XXX”到你账户,哈哈。

    相关文章

      网友评论

          本文标题:【技术笔记】在EOS主网如何发币?

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