EOSIO 转帐详解

前言:最近有许多小伙伴问关于转账的一些操作,笔者在这里写一个教程进行详细说明。

EOS和EOS的不同之处

在EOS网络中存在两种货币,一种是EOS,还有一种是EOS网络中的代币。说到这里大家似乎有点疑惑,举个简单的例子,就好比ETH网络中的ETH,ETH网络中的其他代币。这样大家或许都清除了吧。

在目前EOS网络中可以通过合约eosio.token产生多种名称为EOS的代币。但是还有一种通过合约eosio.system合约发布的代币,它是EOS网络中真正的EOS,他会存储在用户的账户中。可以通过cleos transfer来交易。

通过eosio.token发布的EOS代币

  1. 发布bios合约
cleos set contract eosio eosio.bios/
  1. 创建账户
cleos create account eosio eostea EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
>result
executed transaction: c10ba7625be38c823426ac9c974a7c3a774594ea80f600d95c88dc9d1053a3c6  352 bytes  102400 cycles
#         eosio <= eosio::newaccount            {"creator":"eosio","name":"eostea","owner":{"threshold":1,"keys":[{"key":"EOS6MRyAjQq8ud7hVNYcfnVPJq...
  1. eostea发布代币EOS

发布合约:

> cleos set contract eostea eosio.token/
Reading WAST...
Assembling WASM...
Publishing contract...
executed transaction: 7908bd47ae2c68ffa8f0f51bc2401e9deda2e06e16fc60356afa27f316ef529f  8032 bytes  2200576 cycles
#         eosio <= eosio::setcode               {"account":"eostea","vmtype":0,"vmversion":0,"code":"0061736d01000000018a011660067f7e7f7f7f7f0060057...
#         eosio <= eosio::setabi                {"account":"eostea","abi":{"types":[],"structs":[{"name":"transfer","base":"","fields":[{"name":"fro...

创建代币:

>cleos push action eostea create '["eostea","10000000 EOS",0,0,0]' -p eostea
executed transaction: ae707244932ccd9c3b5a579d1e3875de6c0188d2024447c90df9ad716ad5ac41  248 bytes  104448 cycles
#        eostea <= eostea::create               {"issuer":"eostea","maximum_supply":"10000000 EOS","can_freeze":0,"can_recall":0,"can_whitelist":0}

发布代币:

$ cleos push action eostea issue '["eostea","100000 EOS","issue"]' -p eostea
executed transaction: 8e37f71b607d4ec0fd9ef7582b296e0b738a13948fe9cc82090cb96c1db8054e  256 bytes  107520 cycles
#        eostea <= eostea::issue                {"to":"eostea","quantity":"100000 EOS","memo":"issue"}
>> issue

查看代币:

$cleos get currency balance eostea eostea
10000 TEA
100000 EOS

下面笔者来做一个实验,用eosio再创建一种EOS代币,得到的结果:

cleos get currency balance eosio eosio
10000 EOS

给eostea转账:

cleos push action eosio transfer '["eosio","eostea","100 EOS",""]' -p eosio

查看eostea的代币:

lome@lome:~/eos/build/contracts$ cleos get currency balance eostea eostea
10000 TEA
100000 EOS
lome@lome:~/eos/build/contracts$ cleos get currency balance eosio eostea
100 EOS

这样我发型了两种EOS代币。但是.....

看看数据库里面是这样的:

{
    "_id" : ObjectId("5af41c653c27103f203a6beb"),
    "name" : "eostea",
    "eos_balance" : "0.0000 EOS",
    "staked_balance" : "0.0000 EOS",
    "unstaking_balance" : "0.0000 EOS",
    "createdAt" : "2018-05-10T10:18:13.008Z",
    "updatedAt" : "2018-05-10T10:19:34.007Z",
    "abi" : {
        ......
    }
}

eos_balance是0;

发型EOS

$ cleos push action eosio issue '["eosio","10000000.0000  EOS",""]' -p eosio
executed transaction: ad53e2b11f1b90f8cb3c5edff982fde7e87f4011773e179ca5a963df14c7227c  248 bytes  120832 cycles
#         eosio <= eosio::issue                 {"to":"eosio","quantity":"10000000.0000 EOS"}
#         eosio <= eosio::transfer              {"from":"eosio","to":"eosio","quantity":"10000000.0000 EOS","memo":""}

然后查看账户eosio:

{
    "_id" : ObjectId("5af41b903c27103f203a6392"),
    "name" : "eosio",
    "eos_balance" : "10000000.0000 EOS",
    "staked_balance" : "0.0000 EOS",
    "unstaking_balance" : "0.0000 EOS",
    "createdAt" : "2018-05-10T10:14:40.258Z",
    "updatedAt" : "2018-05-10T11:44:28.506Z",
    "abi" : {
        ........
    }
}

转账:

cleos transfer eosio eostea 1000000
executed transaction: 76a8b7f4ab67d8205661c0848d6dd4566830e84ca2b86a2ae44cef58c6cea4e1  256 bytes  107520 cycles
#         eosio <= eosio::transfer              {"from":"eosio","to":"eostea","quantity":"100.0000 EOS","memo":""}
#        eostea <= eosio::transfer              {"from":"eosio","to":"eostea","quantity":"100.0000 EOS","memo":""}

账户余额:

{
    "_id" : ObjectId("5af4336c3c27100f643add5f"),
    "name" : "eostea",
    "eos_balance" : "100.0000 EOS",
    "staked_balance" : "0.0000 EOS",
    "unstaking_balance" : "0.0000 EOS",
    "createdAt" : "2018-05-10T11:56:28.501Z",
    "updatedAt" : "2018-05-10T12:05:38.507Z",
    "abi" : {
        ........
    }
}

相信看完这些,大家都非常清楚了。

原文转自EOS中文社区: https://eosfans.io/topics/442

原文链接:https://eosfans.io/topics/442

我来说两句

0 条评论
登录 后参与评论

相关文章

  • EOS Cleos 命令使用指南

    cleos包含所有命令的文档。有关cleos已知的所有命令的列表,只需简单地运行它,不带任何参数:

    EOS中文社区
  • EOS账户权限

    帐户是存储在区块链中的人类可读标识符。 每个交易都根据配置的帐户权限对其权限进行评估。

    EOS中文社区
  • 第8课 如何使用开发环境命令行注册EOS靓号?

    【本文目标】 通过本文学习,程序员可以在EOS本地环境完成主网心意的12位EOS账号注册。 不愿意折腾的其他人员可参考文档《第2课 不懂技术,如何抢注热门E...

    辉哥
  • 一篇文章带你了解CSS Pseudo-classes(伪类 )

    CSS伪类选择器根据其他条件匹配组件,而不一定由文档树定义。CSS 伪类 是添加到选择器的关键字,指定要选择的元素的特殊状态。

    前端进阶者
  • 业余草谈设计模式

    设计模式之间并不是完全独立的,而是互相之间,会有一些相同的影子,下面我们来一起总结下这24种设计模式。

    业余草
  • 华为敏捷/DevOps实践:如何开好站立会议

    内容来源:华为云 DevCloud 首席布道师 & 资深产品经理刘恒的技术干货分享。IT 大咖说(微信id:itdakashuo)经华为云和讲者授权发布,转载请...

    IT大咖说
  • 设计模式,Let's “Go”! (下)

    前言 接上篇 设计模式,Let's “Go”! (中), 继续更新设计模式,今天介绍的设计模式有责任链模式、蝇量模式、解释器模式、中介者模式、备忘录模式、原型模...

    枕边书
  • 如何在Ubuntu 14.04上使用Let's Encrypt来保护Nginx

    Let's Encrypt是一个新的证书颁发机构(CA),它提供了一种获取和安装免费TLS / SSL证书的简便方法,从而在Web服务器上启用加密的HTTPS。...

    独钓寒江雪_Ly
  • 【Flutter 专题】37 Animation 基本动画 (一)

    和尚一直对动画不太熟悉,最近学习了一些关于动画的皮毛知识,网上资料很多,和尚按自己的理解整理一下。

    阿策小和尚
  • python 常用代码段汇总(三) url query 参数转字典 rsa 加密解密

    我们经常使用 url 来传一些参数,query 参数的典型格式是:page=0&pagesize=10&sort=-channel_id%2Cid 这样的。其中...

    FungLeo

扫码关注云+社区

领取腾讯云代金券