EOS Contract 合约

在部署合约发行token,至少需要三类用户

类型 Action 账户 职责
合约账户 create eosio.token 合约托管账户,用来创建合约
发行账户 issue kevin 发行Token
交易账户 transfer coco 实现账户之间Token转移

部署合约

部署合约,需要创建一个合约托管账号eosio.token(也可以自定义)

[root@test-work2 eosio.token]# cleos wallet unlock -n kevin-wallet
password: Unlocked: kevin-wallet[root@test-work2 eosio.token]# cleos set contract eosio.token /root/eosio-wallet/build/contracts/eosio.contracts/contracts/eosio.token --abi eosio.token.abi -p eosio.token@active
Reading WASM from /root/eosio-wallet/build/contracts/eosio.contracts/contracts/eosio.token/eosio.token.wasm...
Publishing contract...
executed transaction: 86bf5c8cf4678828026ca890d2ded2cfcde80fa6afef9182a73b4a0791751723  6984 bytes  1673 us
#         eosio <= eosio::setcode               {"account":"eosio.token","vmtype":0,"vmversion":0,"code":"0061736d0100000001a0011b60000060017e006002...
#         eosio <= eosio::setabi                {"account":"eosio.token","abi":"0e656f73696f3a3a6162692f312e310008076163636f756e7400010762616c616e63...
warning: transaction executed locally, but may not be confirmed by the network yet         ] 
[root@test-work2 ~]# cleos get scope eosio.token
{"rows": [{"code": "eosio.token","scope": ".........1a43","table": "stat","payer": "eosio.token","count": 1},{"code": "eosio.token","scope": "........cda43","table": "stat","payer": "eosio.token","count": 1},{"code": "eosio.token","scope": "coco","table": "accounts","payer": "kevin","count": 1},{"code": "eosio.token","scope": "kevin","table": "accounts","payer": "kevin","count": 1}],"more": ""
}

创建令牌 Create Token

创建代币,指定代币的发行数量,精度,代币的符号。


[root@test-work2 ~]# cleos push action eosio.token create '[ "kevin", "1000000000.0000 CL"]' -p eosio.token@active
executed transaction: adcfd825568d430d7e89d92c16b7c4602a079591cc42f97fe70e0efec1a44d32  120 bytes  397 us
#   eosio.token <= eosio.token::create          {"issuer":"kevin","maximum_supply":"1000000000.0000 CL"}
warning: transaction executed locally, but may not be confirmed by the network yet         ]
[root@test-work2 ~]# #另一种方法是使用命名参数
cleos push action eosio.token create '{"issuer":"kevin", "maximum_supply":"1000000000.0000 CL"}' -p eosio.token@active

发行令牌 Issue Tokens

现在我们已经生成了代币(CL), 发行者可以将新的代币发送给其他用户

[root@test-work2 ~]# cleos push action eosio.token issue '[ "kevin", "100.0000 CL", "issue token" ]' -p kevin@active
executed transaction: 6d0067e6ed7576428f552699b23ba6fb588d1add864eab289eb330eab341fad7  128 bytes  378 us
#   eosio.token <= eosio.token::issue           {"to":"kevin","quantity":"100.0000 CL","memo":"issue token"}
warning: transaction executed locally, but may not be confirmed by the network yet         ]
[root@test-work2 ~]# 

托管合约的abi描述信息

每个部署的托管合约,都需要指定一个账户

[root@test-work2 ~]# cleos get abi eosio.token

响应结果如下:

{"version": "eosio::abi/1.1","types": [],"structs": [{"name": "account","base": "","fields": [{"name": "balance","type": "asset"}]},{"name": "close","base": "","fields": [{"name": "owner","type": "name"},{"name": "symbol","type": "symbol"}]},{"name": "create","base": "","fields": [{"name": "issuer","type": "name"},{"name": "maximum_supply","type": "asset"}]},{"name": "currency_stats","base": "","fields": [{"name": "supply","type": "asset"},{"name": "max_supply","type": "asset"},{"name": "issuer","type": "name"}]},{"name": "issue","base": "","fields": [{"name": "to","type": "name"},{"name": "quantity","type": "asset"},{"name": "memo","type": "string"}]},{"name": "open","base": "","fields": [{"name": "owner","type": "name"},{"name": "symbol","type": "symbol"},{"name": "ram_payer","type": "name"}]},{"name": "retire","base": "","fields": [{"name": "quantity","type": "asset"},{"name": "memo","type": "string"}]},{"name": "transfer","base": "","fields": [{"name": "from","type": "name"},{"name": "to","type": "name"},{"name": "quantity","type": "asset"},{"name": "memo","type": "string"}]}],"actions": [{"name": "close","type": "close","ricardian_contract": ""},{"name": "create","type": "create","ricardian_contract": ""},{"name": "issue","type": "issue","ricardian_contract": ""},{"name": "open","type": "open","ricardian_contract": ""},{"name": "retire","type": "retire","ricardian_contract": ""},{"name": "transfer","type": "transfer","ricardian_contract": ""}],"tables": [{"name": "accounts","index_type": "i64","key_names": [],"key_types": [],"type": "account"},{"name": "stat","index_type": "i64","key_names": [],"key_types": [],"type": "currency_stats"}],"ricardian_clauses": [],"error_messages": [],"abi_extensions": [],"variants": []
}

EOS Contract 合约相关推荐

  1. EOS 智能合约源代码解读 (5)class contract

    1. 所有合约的基类 #define CONTRACT class [[eosio::contract]] // 合约 #define ACTION [[eosio::action]] //动作 #d ...

  2. 原 EOS智能合约开发入门

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. EOS智能合约的开发需要使用llvm和abigen来生成abi文件. 为此eos提供了一个 名为eosiocpp的工具. ...

  3. c++ eos智能合约开发_十分钟教你开发EOS智能合约

    EOS环境搭建和启动节点 下面从EOS入门的环境搭建.编译运行一个智能合约.发送一些Aigsen,给大家做一些展示,希望能让非技术人员也有一些收获. 首先下载EOS环境搭建和启动节点.这一步其实还是比 ...

  4. [转]EOS智能合约 私链激活 基本操作

    链接:https://www.jianshu.com/p/90dea623ffdf 简介 本篇文章,将跟大家介绍eos私链的激活.基础智能合约的安装,以及为大家演示转账等基础操作.还没有安装eos私链 ...

  5. 【许晓笛】 EOS智能合约案例解析(1)

    详解 EOS 智能合约的 hpp 文件 为了帮助大家熟悉 EOS 智能合约,EOS 官方提供了一个代币(资产)智能合约 Demo -- eosio.token.eosio.token 智能合约目前还不 ...

  6. 十分钟教你开发EOS智能合约

    十分钟教你开发EOS智能合约 在CSDN.柏链道捷(PDJ Education).HelloEOS.中关村区块链产业联盟主办的「EOS入门及最新技术解读」专场沙龙上,柏链道捷(PDJ Educatio ...

  7. EOS智能合约授权限制和数据存储

    EOS智能合约授权限制和数据存储 在EOS合约中,调用合约需要来自账户的授权,同时还要指定需要调用的动作.当然,有的合约并不是所有账户都可以调用的,这就需要用到授权限制.接下来我们就来看看如何限制合约 ...

  8. c++ eos智能合约开发_[EOS智能合约]第二节:用EOS开发一个To-do List小应用

    EOS Asia 本教程原文作者为EOS Asia,亚洲最具技术实力和最国际化的EOS超级节点竞选者.EOS Asia 同时也是EOS Gems和Traffic Exchange Token这两个项目 ...

  9. 【许晓笛】 EOS智能合约案例解析(1) 1

    详解 EOS 智能合约的 hpp 文件 为了帮助大家熟悉 EOS 智能合约,EOS 官方提供了一个代币(资产)智能合约 Demo -- eosio.token.eosio.token 智能合约目前还不 ...

最新文章

  1. 认认真真推荐几个机器学习、深度学习公众号
  2. unity3d EasyTouch滑动屏幕移动相机观看场景
  3. kali2020.1正确安装下载中文输入法及问题解决
  4. 【版本更新】网易云信IM微信小程序上线啦!
  5. 第十三章:Java_反射机制
  6. Calendar是日历类
  7. endpointimpl怎么填参数_这是一篇VLOOKUP函数家族主要用法的合集,XLOOKUP来了!真香!但是,没有office365吃不着怎么办?...
  8. linux四剑客-grep/find/sed/awk/详解-技术流ken
  9. Tomcat server.xml详解
  10. Linux中select函数学习及实例笔记
  11. gd库多点画图 php_用 PHP 实现身份证号码识别
  12. php使用到的函数记录一
  13. 使用pyautogui自动刷微信表情
  14. java英语美式读音
  15. js 大地坐标转经纬度
  16. 柯洁预言AI绘画会替代大部分画师,网友:初代AI受害者现身说法
  17. 【Eclipse】关闭单词拼写检查
  18. 100+道Java经典面试题(面中率高)
  19. 超级学习者的6个习惯:快速深入地学习任何技能
  20. 前端小程序,h5,浏览器,app, doc,.docx,.ofd,.PDF,.WPS以及Office文档的在线解析预览方式

热门文章

  1. 军队文职初试资料 计算机,2020军队文职备考,计算机基础知识!
  2. 正则表达式爬取电影天堂
  3. [转]谈谈如何建立数据模型
  4. Springboot项目使用jdk17启动报错:module java.base does not “opens java.lang.invoke“
  5. 润和软件受邀参展第十一届“中国软件杯”大学生软件设计大赛
  6. 生成器 yield from
  7. 园区——论开发商与运营商的盈利模式
  8. C/C++——字符串分割(strtok, strtok_s)
  9. 港联证券|主导产品时隔三年大幅提价 片仔癀强势涨停
  10. USB 设备驱动之设备接入梳理(二)