1. 记录用户的token,比如有哪些代币

   class [[eosio::contract("eosio.token")]] token : public contract {public:using contract::contract;[[eosio::action]]void _create( const text_name&   issuer,  const asset&  maximum_supply);[[eosio::action]]void _issue( const text_name& to, const asset& quantity, const string& memo );[[eosio::action]]void _transfer( const text_name&  from,const text_name&  to,const asset&   quantity,const string&  memo);struct [[eosio::table]] account {asset    balance;uint64_t primary_key()const { return balance.symbol.code().raw(); }};struct [[eosio::table]] currency_stats {asset    supply;asset    max_supply;name     issuer;uint64_t primary_key()const { return supply.symbol.code().raw(); }};typedef eosio::multi_index< "accounts"_n, account > accounts;typedef eosio::multi_index< "stat"_n, currency_stats > stats;
}

1.1 accounts表

由不同的account对象组成,每个account对象持有不同代币的余额accounts表的范围限定为eosio帐户

eg. 有一个名为tom的eosio帐户,他有自己的范围。在他的范围内是一个名为accounts的表。在该表中是一个单独的account对象,用于他持有的每个代币,SYS和EOS

1.2 stat表

此表将包含现有代币的状态,新标记在其自己的符号名称范围内创建,范围内是一个包含currency_stats对象的stat表

  • stat表仅包含给定标记符号的单个currency_stats对象,由持有供应,max_supply和发行者的currency_stats对象(由struct currency_stats定义)组成。

  • stat表的范围限定为代币符号名称

(根据eosio::multi_index定义,code是具有写权限的帐户的名称,scope是存储数据的帐户)

EOS 智能合约源代码解读 (10)token合约“简介”相关推荐

  1. EOS 智能合约源代码解读 (1)总体说明

    1. 基本定义 在eos私有节点操作中,我们通常是一个合约对应一个合约账户,并且一个账户中只能部署一个智能合约.如果在同一个账户部署多个合约,那么最后部署的合约会覆盖掉之前的合约.每个帐户都至少链接到 ...

  2. EOS 智能合约源代码解读 (10)token合约“几种关键操作”

    1. create:负责创建资产 void token::create( const text_name& issuer, const asset& maximum_supply) { ...

  3. EOS 智能合约源代码解读 (11)wrap合约“action_wrapper类”

    1. 功能 对于许多用例,需要从合同代码向另一个合同发送新操作.这是合同之间能够积极沟通的唯一途径.它为特定智能合约代码的特定操作创建"操作模板",然后可使用该模板来调用此操作. ...

  4. EOS 智能合约源代码解读 (7)合约开发示例

    官方提供了一个工具eosiocpp,它可以按照固定的模板创建一个新的智能合约.eosiocpp可以创建2个合约文件(曾经是三个文件),它们仅仅包含了合约的框架. 1. HelloWorld合约代码如下 ...

  5. EOS 智能合约源代码解读 (14)system合约“exchange_state.hpp”

    1. 使用bancor数学创建一个在两种资产类型中的50/50的中继 namespace eosiosystem {using eosio::asset;using eosio::symbol;typ ...

  6. EOS 智能合约源代码解读 (6)合约之action

    1. 动作 ( action ) 是 EOS 合约的灵魂,是 EOS 的基础组成单位 1.1 一个动作就是一个公开的 ( pubic ) 的 C++ 类的成员方法 必须使用 [[eosio::acti ...

  7. EOS 智能合约源代码解读 (3)asset.hpp

    1. 合约中关于资产的数据结构的定义 输入字符串: "10.0000 CUR" 输出:amount = 10, symbol(4,"CUR") /**asset ...

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

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

  9. EOS 智能合约源代码解读 (4)symbol.hpp

    token的名称和数字精度 名称大写 /** class symbol represents a token and contains precision and name. When encoded ...

最新文章

  1. 神经网络常用激活函数
  2. 部署Tomcat服务时,解决Cannot invoke Tomcat Manager 异常
  3. 微信小程序 - 时间戳转时间
  4. 【手写系列】透彻理解MyBatis设计思想之手写实现
  5. C++特化的应用——类型萃取
  6. 20145236《信息安全系统设计基础》第0周学习总结
  7. WCF面向服务应用程序系列之十:绑定-标准绑定(HTTP/TCP)
  8. 测试SAP BRF+ ruleset
  9. 在地铁和公交车上给职业乞丐施舍合适吗?
  10. 数据结构之排序算法Java实现(2)——选择类排序之堆排序算法
  11. docker镜像启动后端口号是多少_java项目docker云化入门
  12. Linux基础(2)-基础命令和bash的基础特性(1)
  13. LeetCode—数据库简单题(三)
  14. ERStudio 安装
  15. 国美易卡线上操作流程,国美易卡利用科技力量
  16. 历史上水平最高的三十首七律
  17. 2年前端 杭州 面试 集合 面经 前端
  18. 《第六周RFID作业》物联112118 林家辉
  19. 学习软件测试的一天(11.4)
  20. 计算机蓝牙快捷键,如何打开Windows10笔记本电脑的蓝牙,快捷键打开笔记本电脑的蓝牙!...

热门文章

  1. Android --- View.inflate()的详细介绍
  2. 数据中心基础设施管理的演进
  3. 数据中心机房环境温度与微模块机柜有什么关系?
  4. 问答:双总线并机,可以使用不同品牌的ups吗?
  5. 数据中心基础设施:建设与设计
  6. 数据中心液体冷却技术的五个主要关注点
  7. PDU是如何帮助机房安然度夏?如何选择PDU电源配套机柜?
  8. 台湾高校首创气体灭火数位实境教育馆
  9. 成功解决If your current network has https://www.anaconda.com blocked, please filea support request with
  10. Paper:《A Few Useful Things to Know About Machine Learning—关于机器学习的一些有用的知识》翻译与解读