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 技术研究与区块链智能合约开发.是圆方圆区块链的导师,更多小笛老师的文章和视频请关注圆方圆链圈公众号。
领取专属 10元无门槛券
私享最新 技术干货