为了节约讀者时间本文直接在代码设计这部分对该标准进行解读,便于读者更好地理解如何使用标准去设计开发自己的Token合约 首先,我们看简单看一下现在主流的一些Token的项目是什么介绍我个人比较关注也比较看好火币Pro,所以姑且用HT给大家进行直观化的了解
以上信息中,我们姑且先关注一下总量: 500,000,000 HT其他信息均为交易所信息,暂时不关注现在,我们开始通过ERC20标准实现峩们自己的Token合约 首先定义一个合约EIP20Interface,将ERC20标准中需要实现的所有方法与事件全部进行引用作为Token合约的父合约,用于被其他合约集成使用 //获取小数位,比如以太坊的decimals为18 //主动转账:当前地址主动发起转账从当前地址向_to地址转入_value个Token //成功执行approve方法后调用的事件
在合约标准中,通过 这两个变量非常重要请仔细思考 //存储允许转出的金额请仔细参考以上讲解说明,此处均为被动转账模式
//定义依赖条件,转账金额>0 并且 被转账户余额>转账金额 //将转账金额存入allowances集合中对应关系可参考···3.4定义存储变量··· //取出本次当前地址对中允许转账的金额 1. 允许转账的金额 > 转出的金额 2. 转出方地址的余额>=转出的金额 3. 转入方地址务必是當前账户地址 4. 转入方转账后地址务必大于原来余额 //将本次转账金额从允许转账金额中扣除 //将本次转账金额从转出方余额中扣除 //将本次转账金额加入到转入方余额中 //成功执行approve方法后调用的事件 在将代码正式部署到以太坊测试网络前,我们先在JavaScript VM环境进行部署并进行调试 为了读者能够理顺后面的地址之间的关系此处先进行说明
注意点: 务必保证转账账户需要选择正确
其实被动转账这个概念是笔者自己定义的让别人从自己这边取走东西,可以简单理解为被动如此定義只是为了讲解的方便。
此时地址A与地址B的余额分别为
此时Token合约代码测试基本完毕,可以部署到以太坊网络中
2.2 转账至其他账户地址
本文所有内容均为学习交流使用各位技术人在进行技术研究以及业务落地的过程中切记以遵守国家法律为前提,合法开展相关技术支撑的业务与市场活动 最后,祝大家学习愉快! |