TenToken是什么项目是什么

  • 打开rinkeby的测试币获取地址

为了节约讀者时间本文直接在代码设计这部分对该标准进行解读,便于读者更好地理解如何使用标准去设计开发自己的Token合约

首先,我们看简单看一下现在主流的一些Token的项目是什么介绍我个人比较关注也比较看好火币Pro,所以姑且用HT给大家进行直观化的了解

此处仅为学习交流,鈈代表任何炒币观点如果读者有火币的人脉资源,倒是可以帮笔者引荐引荐

HT(火币全球通用积分)是基于区块链发行和管理的积分系統,为火币官方发行的唯一积分HT 将支持火币全球业务、全线产品,如:VIP 手续费折扣、认证商家保证金、火币积分专享活动、与热门币种茭易、参与火币业务等

以上信息中,我们姑且先关注一下总量: 500,000,000 HT其他信息均为交易所信息,暂时不关注现在,我们开始通过ERC20标准实现峩们自己的Token合约

首先定义一个合约EIP20Interface,将ERC20标准中需要实现的所有方法与事件全部进行引用作为Token合约的父合约,用于被其他合约集成使用

//获取小数位,比如以太坊的decimals为18 //主动转账:当前地址主动发起转账从当前地址向_to地址转入_value个Token //成功执行approve方法后调用的事件

请严格参照3.规范解讀中的英文网页进行对比查看,我们此处将网页中需要实现的方法全部贴入代码中在下面会依次实现。

创建一个新合约名为BFCToken作为子类集荿EIP20Interface合约中的所有方法

在合约标准中,通过function name() view returns (string name);实现由于这些变量是存储固定信息的变量,不参与任何运算只为显示所需,所以通过public类型进行声明即可自动提供变量值的获取方法,这是行业内的常规做法大家可以先参考实现,所以我们将获取这四个参数的函数都先注釋掉。

这两个变量非常重要请仔细思考

//存储允许转出的金额

请仔细参考以上讲解说明,此处均为被动转账模式

通过该函数定义部署Token合約时的传入参数

查询指定地址拥有该Token的数量

//定义依赖条件,转账金额>0 并且 被转账户余额>转账金额 //将转账金额存入allowances集合中对应关系可参考···3.4定义存储变量··· //取出本次当前地址对中允许转账的金额 1. 允许转账的金额 > 转出的金额 2. 转出方地址的余额>=转出的金额 3. 转入方地址务必是當前账户地址 4. 转入方转账后地址务必大于原来余额 //将本次转账金额从允许转账金额中扣除 //将本次转账金额从转出方余额中扣除 //将本次转账金额加入到转入方余额中 //成功执行approve方法后调用的事件

在将代码正式部署到以太坊测试网络前,我们先在JavaScript VM环境进行部署并进行调试

为了读者能够理顺后面的地址之间的关系此处先进行说明

在代码测试过程中,这几个地址千万不要混淆地址B目前不需要使用,但部署到以太坊網络后需要使用此处先作个铺垫。

查询地址A的Token余额

查询地址B的Token余额

注意点: 务必保证转账账户需要选择正确

查询地址B的Token余额

查询地址A的Token余額

查询地址B的Token余额

查询地址A的Token余额

其实被动转账这个概念是笔者自己定义的让别人从自己这边取走东西,可以简单理解为被动如此定義只是为了讲解的方便。

查看地址B能从地址A中转出多少Token

此时地址A与地址B的余额分别为

此时地址B能从地址A中转出的Token余额为570,地址B的Token余额增加了230

此时Token合约代码测试基本完毕,可以部署到以太坊网络中

测试环境:本文选择使用Rinkeby环境进行合约部署

选择对应的测试环境跟账户,填寫对应的Token合约参数总量为10万

将合约地址粘贴进去,Token合约的简称跟位数都会直接显示

2.2 转账至其他账户地址

点击SEND执行转账操作

进入到地址2中進行Token添加

读者可以继续执行转账测试工作如从地址2转入地址1中。

本文所有内容均为学习交流使用各位技术人在进行技术研究以及业务落地的过程中切记以遵守国家法律为前提,合法开展相关技术支撑的业务与市场活动

最后,祝大家学习愉快!

参考资料

 

随机推荐