1.获取合约代码:官方代码

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

里面包含多个合约,这里只用一个合约,那就是:eosio.token

进入到eosio.token文件夹:cd eosio.contracts/eosio.token

2.为合约创建账户

cleos create account eosio eosio.token EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV`

这个命令里,eosio是已经存在的账号,后面的key是用来开发的key,这个命令的目的是为了eosio.token合约创建一个账户。

输出结果是:

executed transaction: e53647dfb6c6200b666c8728cc7b6a2c0ddc5feaea8c8b376649e533eb569377  200 bytes  366 us
#         eosio <= eosio::newaccount            {"creator":"eosio","name":"eosio.token","owner":{"threshold":1,"keys":[{"key":"EOS6MRyAjQq8ud7hVNYcf...
warning: transaction executed locally, but may not be confirmed by the network yet         ]

3.编译合约

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

4.部署合约:

cleos set contract eosio.token /Users/xxx/codes/EOS-Dev/contracts/eosio.contracts/eosio.token --abi eosio.token.abi -p eosio.token@active

输出结果:

Reading WASM from /Users/xxx/codes/EOS-Dev/contracts/eosio.contracts/eosio.token/eosio.token.wasm...
Publishing contract...
executed transaction: dae4b042c016b5addafbf222cef97cef8910c90db70e0b81718722f28f32df3e  9712 bytes  2408 us
#         eosio <= eosio::setcode               {"account":"eosio.token","vmtype":0,"vmversion":0,"code":"0061736d0100000001aa011c60037f7e7f0060047f...
#         eosio <= eosio::setabi                {"account":"eosio.token","abi":"0e656f73696f3a3a6162692f312e300008076163636f756e7400010762616c616e63...
warning: transaction executed locally, but may not be confirmed by the network yet         ]

部署完毕,就可以和合约进行交互了。

5.向合约提交指令–发行代币:

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

输出结果:

executed transaction: f4fa506ce9c7d6317669c93d87be55ed2c9a9ce941612a0548110ec11cab7f2f  120 bytes  434 us
#   eosio.token <= eosio.token::create          {"issuer":"eosio","maximum_supply":"1000000000.0000 SYS"}
warning: transaction executed locally, but may not be confirmed by the network yet         ]

和下面这个命令效果一样:

cleos push action eosio.token create '{"issuer":"eosio", "maximum_supply":"1000000000.0000 SYS"}' -p eosio.token@active

这里是显式说明了参数的含义,发行者账户是谁,以及最大发行量是多少。

6.向其他账户定向发行代币

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

向Alice定向发行代币~~

输出:

executed transaction: fe3e0bc1b607345c6648d0b8ee8f0510eb532b2a3ca5b4aaab785cf23d28ab6e  128 bytes  591 us
#   eosio.token <= eosio.token::issue           {"to":"alice","quantity":"100.0000 SYS","memo":"memo"}
#   eosio.token <= eosio.token::transfer        {"from":"eosio","to":"alice","quantity":"100.0000 SYS","memo":"memo"}
#         eosio <= eosio.token::transfer        {"from":"eosio","to":"alice","quantity":"100.0000 SYS","memo":"memo"}
#         alice <= eosio.token::transfer        {"from":"eosio","to":"alice","quantity":"100.0000 SYS","memo":"memo"}

6.转移代币

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

这里主要是想说转移命令,是alicebob转币,所以用alice的账户权限进行签名。

executed transaction: 6f3c329dac8248c2cd5ebc13536bc6300b2531852ea617807daa62b1c5f7e036  128 bytes  511 us
#   eosio.token <= eosio.token::transfer        {"from":"alice","to":"bob","quantity":"25.0000 SYS","memo":"m"}
#         alice <= eosio.token::transfer        {"from":"alice","to":"bob","quantity":"25.0000 SYS","memo":"m"}
#           bob <= eosio.token::transfer        {"from":"alice","to":"bob","quantity":"25.0000 SYS","memo":"m"}

查看bob是否已经收到代币,使用

cleos get currency balance eosio.token bob SYS

这个命令的参数依次是:

  • 合约名
  • 账户名
  • 代币名

解释起来就是,查看eosio.token合约上的bob账户里的SYS代币的余额,这个查看是人人可查,公开的,无需任何权限

输出结果:

25.0000 SYS

参考链接:

https://developers.eos.io/eosio-home/docs/token-contract

END.

【EOS】2.2 发行Token,转移Token相关推荐

  1. 数字货币 BCH 使用SLP创建转移token (Electron-Cash 3.4.5安装使用 )

    序 BCH上的token协议SLP(SimpleLedger Protocol)最近获得了较大的发展,本文将手把手教你如何使用SLP创建并且转移token 安装Electron-Cash-SLP钱包  ...

  2. 10《区块链财富指北》DAPP篇(2):从钱包上调用合约发行通证(Token)。

    DAPP(2):从钱包上调用合约发行通证(Token). <区块链财富指北>系列文章由NOCY.COM策划,肖南飞主笔撰写. 技术选型基于BOScore公链,旨在以有趣易懂的方式传播普及区 ...

  3. 区块链DApp从零开始学 (二) | 超详细 DApp创建 | 发行代币token | 宠物领养

    初学记录 · 欢迎交流 区块链DApp从零开始学 (一) | DApp抓包 区块链DApp从零开始学 (二) | 超详细 DApp创建 | 发行代币token |宠物领养 区块链知识 (一) | 实例 ...

  4. Token及Token经济

    一.Token 1.1 通证有三个要素 1.2 通证和区块链的结合 二.Token Economy 2.1 Token 价值的体现 2.2 区块链产业发展的三条不同路线 2.3 通证经济的简单理解 三 ...

  5. 简单介绍vue获取token实现token登录的示例代码

    最近新做了个vue项目,正好项目中有登录部分,本文就详细的介绍一下登录部分的实现,文中通过示例代码介绍的非常详细,感兴趣的小伙伴们可以参考一下 使用token做登录验证的思路大致如下: 1.在第一次登 ...

  6. python token 访问控制_python 产生token及token验证

    1.前言 最近在做微信公众号开发在进行网页授权时,微信需要用户自己在授权url中带上一个类似token的state的参数,以防止跨站攻击. 在经过再三思考之后,自己试着实现一个产生token和验证to ...

  7. 【解析】Token to Token Vision Transformer

    Vision Transformer 的提出颠覆了我们以往对图像处理的方式,也开阔了Transformer 在CV方向上的潜力,但其有一些缺点,如需要 超大型数据集(JFT)预训练,才能达到现在CNN ...

  8. python token_python 产生token及token验证的方法

    1.前言 最近在做微信公众号开发在进行网页授权时,微信需要用户自己在授权url中带上一个类似token的state的参数,以防止跨站攻击. 在经过再三思考之后,自己试着实现一个产生token和验证to ...

  9. Retrofit 通过刷新头部Token解决token过期

    需求分析: 使用token来维持用户登陆状态是很常见的,但应当明确后台设置的token也都是有一定期限的,假如说是7天,那么我们的用户信息的获取必然是和token相绑定的,所以不可避免的我们的Andr ...

最新文章

  1. 架构设计|异步请求如何同步处理?
  2. 一文看懂国产最大深度学习平台上新,国内率先加持量子机器学习
  3. 解析TOMCAT框架 .
  4. 跪求解,oc内存回收问题
  5. 为什么阿里巴巴建议集合初始化时,指定集合容量大小?
  6. blongsTo 用法
  7. 做好以下四点,拒做 “ 空心 ” 程序员 | CSDN 博文精选
  8. 计算机学硕缩招,专硕扩招、学硕缩招!又有院校初试科目改了!本周这些院校发布最新消息!...
  9. 韦东山Linux嵌入式学习——硬件复习
  10. Mobilenet——深度可分离卷积
  11. 计算机具有逻辑思维,逻辑思维能力
  12. 图的遍历详解(广度优先和深度优先)
  13. surface屏幕自动调节亮度无法关闭
  14. 真正的爱情是日久生情
  15. 焊接技巧 -- 拖焊
  16. python画circos图_手把手教你画Circos图
  17. POSCMS 系统缓存设置
  18. 李德毅:未来交通——自动驾驶与智能网联
  19. 如何在Tanzu Cluster中使用vSphere with Tanzu内置容器注册表
  20. 小计Tomcat的调优思路

热门文章

  1. 【华为OJ】按单词将句子逆序
  2. element tree不刷新视图_随手“一片”SCI,Qiime2扩增子处理流程确定不了解一下?(一)...
  3. 破解sourceInsight4
  4. java获取动态天气api,java调用中国天气网api获得天气预报信息
  5. angular 点菜_JavaScript实现的select点菜功能示例
  6. 病毒传播数学建模matlab分析,数学建模MATLAB之分析法(一)
  7. serialize java_java serialize 浅谈
  8. 无限火力挤爆服务器,LOL:无限火力出炉,众多云玩家宣布回归!服务器出现爆满情况...
  9. python字符串追加字符_Python字符串追加
  10. android表情面板_Android Q:应用内设置面板