Deploy, Issue and Transfer Tokens

  本例使用 eosio.token 合约来尝试发行Token.

1、签出 eosio.contracts。

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

  这里头有很多eosio写的标准合约。

  

  我们将使用上图中的 eosio.token 合约来练习发布 token。

2、eosio.token非常的简单,仅包含 eosio.token.hpp、eosio.token.cpp两件文件。其中提供了6个action:

  

3、建立一个 eosio.token account,此账户用于发布eosio.token合约。

cleos create account eosio eosio.token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

4、在 eosio.token 目录下编译合约

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

5、用 eosio.token 账号发布合约

cleos set contract eosio.token /home/ubuntu/contracts/eosio.contracts/eosio.token --abi eosio.token.abi -p eosio.token@active

6、一个合约可以创建多个token。使用 create 方法创建一种token。

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

  因为此处是创建token,所以需要 eosio.token 账户的权限。

  it's a symbol_name type composed of two pieces of data, a maximum supply float and a symbol_name in capitalized alpha characters only, for example "1.0000 SYM".

  The issuer will be the one with authority to call issue and or perform other actions such as freezing, recalling, and whitelisting of owners.

  This command created a new token SYS with a precision of 4 decimals and a maximum supply of 1000000000.0000 SYS. To create this token requires the permission of the eosio.token contract. For this reason, -p eosio.token@active was passed to authorize the request.

7、发行token。

  The issuer can issue new tokens to the "alice" account created earlier.

  发行者(issuer)可以给其它用户发行token。

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

  注意,因为此处是发行token,所以需要发行者(issuer)的权限。

  

  To inspect the transaction, try using the -d -j options, they indicate "don't broadcast" and "return transaction as json," which you may find useful during development.

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

8、转移 token。

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

  Now check if "bob" got the tokens using cleos get currency balance

cleos get currency balance eosio.token bob SYS
25.00 SYS

  Check "alice's" balance, notice that tokens were deducted from the account

cleos get currency balance eosio.token alice SYS
75.00 SYS

参考:

1、https://developers.eos.io/eosio-home/docs/token-contract#section-step-3-compile-the-contract

Deploy, Issue and Transfer Tokens的更多相关文章

  1. Implement JSON Web Tokens Authentication in ASP.NET Web API and Identity 2.1 Part 3 (by TAISEER)

    http://bitoftech.net/2015/02/16/implement-oauth-json-web-tokens-authentication-in-asp-net-web-api-an ...

  2. 零门槛,包教会。让你在5分钟内使用以太坊ERC20智能合约发行属于自己的空气币

    前言 目前区块链是互联网中最最火的风口,没有之一.我周围的很多朋友也加入了“炒币”行列,但很不幸,几乎都被“割韭菜”了.而经过我的几天研究,发现,如果自己要发行一种空气币,简直太简单了.只需要下面几个 ...

  3. 发行NEO的NEP-5合约代币

    NEO常见的资产有三种 TOKEN (全局资产) Share (全局资产,股份 ) NEP-5 (合约代币,相当于ETH的ERC20) NEP-5 合约代码 https://github.com/AN ...

  4. python3使用kivy生成安卓程序

    技术背景 虽然现在苹果占据了很大一部分的市场,但是从销量数据来看,安卓还是占据了人口的高地.这里我们介绍一个用python的kivy+buildozer来进行安卓APP开发的简单教程,从整个过程中来看 ...

  5. OCP读书笔记(24) - 题库(ExamD)

    327.You have a database with the following tablespaces: SYSTEM, SYSAUX, UNDO, USERS, TEMP.You want t ...

  6. 10分钟 5步 发布以太坊 ERC20 代币

    1.安装 METAMASK Brings Ethereum to your browser 一个可以浏览器上进行操作的以太坊钱包,推荐 Chrome. Chrome 插件安装地址: https://c ...

  7. 【精解】EOS TPS 多维实测

    本文主要研究EOS的tps表现,会从插件.cleos.EOSBenchTool以及eosjs四种方式进行分析研究. 关键字:eos, tps, cleos, txn_test_gen_plugin, ...

  8. ethereum/EIPs-1271 smart contract

    https://github.com/PhABC/EIPs/blob/is-valid-signature/EIPS/eip-1271.md Standard Signature Validation ...

  9. ethereum发erc20token

    以太坊发币智能合约代码简单介绍: 发币代码如下(https://ethereum.org/token#the-code网站中获得): pragma solidity ^; interface toke ...

随机推荐

  1. 535种使用JavaScript重新加载页面的方法

    除了location = location之外还有534中方法重新加载页面 location = location location = location.href location = window ...

  2. git 错误汇总

    ★一.git提交时报错:Updates were rejected because the tip of your current branch is behind 出现这样的问题是由于:自己当前版本 ...

  3. MySQL Event--Event and EventScheduler

    MySQL Event 创建EVENT语法: CREATE [DEFINER = { user | CURRENT_USER }] EVENT [IF NOT EXISTS] event_name O ...

  4. PostgreSQL Oracle 兼容性之 - sys_guid()

    Oracle 使用sys_guid()用来产生UUID值.  在PostgreSQL中有类似的函数,需要安装uuid-ossp插件.  如果用户不想修改代码,还是需要使用sys_guid()函数的话, ...

  5. Maven+Spirng+Mybatis+CXF搭建WebService服务

    https://jingyan.baidu.com/article/39810a23b1de2fb637fda66c.html

  6. 黄聪:谷歌验证 (Google Authenticator) 的实现原理是什么?

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:徐小花链接:http://www.zhihu.com/question/20462696/answer/18731073来源: ...

  7. 并发之java.util.concurrent.atomic原子操作类包

    15.JDK1.8的Java.util.concurrent.atomic包小结 14.Java中Atomic包的原理和分析 13.java.util.concurrent.atomic原子操作类包 ...

  8. vue1 & vue2 数据驱动更新视图机制对比

    vue1 小粒度更新,精确追踪到数据变化所影响的dom变化,精确更新变化的dom 具体实现为,维护 observer watcher directive 三个类 ·observer负责监听数据变化,并 ...

  9. MyEclipse 10 + OsChina GIt项目托管

    环境:Egit+MyEclipse 10,此教程默认MyEclipse 10和Egit都已经配置好. 1.注册OsChina Git账号,网址:http://git.oschina.net/,具体注册 ...

  10. Docker系列08:容器监控

    1 监控解决方案 cadvisor+influxdb+grafana cAdvisor:Google开源的工具,用于监控Docker主机和容器系统资源,通过图形页面实时显示数据,但不存储:它通过宿主机 ...