EOS Contract 合约
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 合约相关推荐
- EOS 智能合约源代码解读 (5)class contract
1. 所有合约的基类 #define CONTRACT class [[eosio::contract]] // 合约 #define ACTION [[eosio::action]] //动作 #d ...
- 原 EOS智能合约开发入门
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. EOS智能合约的开发需要使用llvm和abigen来生成abi文件. 为此eos提供了一个 名为eosiocpp的工具. ...
- c++ eos智能合约开发_十分钟教你开发EOS智能合约
EOS环境搭建和启动节点 下面从EOS入门的环境搭建.编译运行一个智能合约.发送一些Aigsen,给大家做一些展示,希望能让非技术人员也有一些收获. 首先下载EOS环境搭建和启动节点.这一步其实还是比 ...
- [转]EOS智能合约 私链激活 基本操作
链接:https://www.jianshu.com/p/90dea623ffdf 简介 本篇文章,将跟大家介绍eos私链的激活.基础智能合约的安装,以及为大家演示转账等基础操作.还没有安装eos私链 ...
- 【许晓笛】 EOS智能合约案例解析(1)
详解 EOS 智能合约的 hpp 文件 为了帮助大家熟悉 EOS 智能合约,EOS 官方提供了一个代币(资产)智能合约 Demo -- eosio.token.eosio.token 智能合约目前还不 ...
- 十分钟教你开发EOS智能合约
十分钟教你开发EOS智能合约 在CSDN.柏链道捷(PDJ Education).HelloEOS.中关村区块链产业联盟主办的「EOS入门及最新技术解读」专场沙龙上,柏链道捷(PDJ Educatio ...
- EOS智能合约授权限制和数据存储
EOS智能合约授权限制和数据存储 在EOS合约中,调用合约需要来自账户的授权,同时还要指定需要调用的动作.当然,有的合约并不是所有账户都可以调用的,这就需要用到授权限制.接下来我们就来看看如何限制合约 ...
- c++ eos智能合约开发_[EOS智能合约]第二节:用EOS开发一个To-do List小应用
EOS Asia 本教程原文作者为EOS Asia,亚洲最具技术实力和最国际化的EOS超级节点竞选者.EOS Asia 同时也是EOS Gems和Traffic Exchange Token这两个项目 ...
- 【许晓笛】 EOS智能合约案例解析(1) 1
详解 EOS 智能合约的 hpp 文件 为了帮助大家熟悉 EOS 智能合约,EOS 官方提供了一个代币(资产)智能合约 Demo -- eosio.token.eosio.token 智能合约目前还不 ...
最新文章
- 认认真真推荐几个机器学习、深度学习公众号
- unity3d EasyTouch滑动屏幕移动相机观看场景
- kali2020.1正确安装下载中文输入法及问题解决
- 【版本更新】网易云信IM微信小程序上线啦!
- 第十三章:Java_反射机制
- Calendar是日历类
- endpointimpl怎么填参数_这是一篇VLOOKUP函数家族主要用法的合集,XLOOKUP来了!真香!但是,没有office365吃不着怎么办?...
- linux四剑客-grep/find/sed/awk/详解-技术流ken
- Tomcat server.xml详解
- Linux中select函数学习及实例笔记
- gd库多点画图 php_用 PHP 实现身份证号码识别
- php使用到的函数记录一
- 使用pyautogui自动刷微信表情
- java英语美式读音
- js 大地坐标转经纬度
- 柯洁预言AI绘画会替代大部分画师,网友:初代AI受害者现身说法
- 【Eclipse】关闭单词拼写检查
- 100+道Java经典面试题(面中率高)
- 超级学习者的6个习惯:快速深入地学习任何技能
- 前端小程序,h5,浏览器,app, doc,.docx,.ofd,.PDF,.WPS以及Office文档的在线解析预览方式
热门文章
- 军队文职初试资料 计算机,2020军队文职备考,计算机基础知识!
- 正则表达式爬取电影天堂
- [转]谈谈如何建立数据模型
- Springboot项目使用jdk17启动报错:module java.base does not “opens java.lang.invoke“
- 润和软件受邀参展第十一届“中国软件杯”大学生软件设计大赛
- 生成器 yield from
- 园区——论开发商与运营商的盈利模式
- C/C++——字符串分割(strtok, strtok_s)
- 港联证券|主导产品时隔三年大幅提价 片仔癀强势涨停
- USB 设备驱动之设备接入梳理(二)