首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

EOS 智能合约案例解析(2)

eosio.token.cpp 文件地址: https://github.com/EOSIO/eos/blob/master/contracts/eosio.token/eosio.token.cpp

了解 C/C++ 开发的同学肯定熟悉,cpp 文件的主要使命是实现 hpp 文件中声明的函数(方法),包括公有函数(EOS 里也叫 action)和私有函数。hpp 里挖的坑,cpp 要一个不留地实现。

私有函数

照惯例,私有函数都是工具函数,供类内部的其他函数调用。

sub_balance(减资产)函数

作用:从指定账户中减去资产

参数:被操作账户,资产数,资产状态

add_balance(增加资产)函数

作用:从指定账户中增加资产

参数:被操作账户,资产数,资产状态,存储资源支付账户

公有函数

EOS 合约中的公有函数大多是供别的账户调用的 Action,根据 hpp 文件,我们需要实现 create、issue、transfer 三个公有函数(action)。

create(新建代币)函数

create 函数用来创建一种新的代币,并设置这种新代币的各种参数。

transfer(转账)函数

transfer 应该是这个智能合约最常用的函数,就是将代币从一个账户转到另一个。

issue(发币)函数

上面的 create 函数创建代币后只是给定了参数,并没有真正的代币被创建出来,需要 issue 函数进行发币。

设置 action

大家知道 EOS 系统的智能合约是以 action 为基本动作单位的,我们要将需要声明为 action 的函数告知 EOS 系统,通过以下宏即可实现。

作者小笛 ,专注于 EOS 技术研究与区块链智能合约开发.是圆方圆区块链的导师,更多小笛老师的文章和视频请关注圆方圆链圈公众号。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180502A05OL400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券