一、准备
本案例合约代码主要包括燃烧通缩、持币分红、基金会(营销)钱包地址回流、三代推广收益模式的组合合约。通过设置每个代币分流渠道的比例来组成全部的手续费。详细模式介绍如下:
1、钱包之间转账不收手续费,线上交易收起手续费
2、手续费流向包括:燃烧通缩、营销钱包/基金会钱包地址回流、持币分红、三代推广收益
3、通缩到一定剩余代币总量后恒量流通,取消所有手续费
4、通过变向设置营销钱包地址可以调整为lp加池份额分红
5、持币分红本币,通过均摊算法来实现无手续费的持币分红模式
6、三代推广收益,如果每天直推上级就分红到指定地址,可以是bsc特点的dead地址,也可以是用户指定的特点分红地址。
二、操作流程
合约主要包括:IERC20.sol、SafeMath.sol、Context.sol、Ownable.sol、Address.sol、Token.sol六个合约文件组成。
1、配置编译器相关参数
根据合约要求选择编译器版本0.6.12,启用优化,默认200节点。
2、创建以代币简称作为名称的文件夹,并部署合约文件
3、修改Token.sol合约文件模板中的代币属性
4、部署合约文件,发行代币上链
输入构造函数输入参数:
确认无误后,部署合约即可。
合约部署完成后,在控制台显示操作hash交易记录
5、查询合约部署详情
6、开源合约
进入合约开源入口,执行合约开源操作
再次查询合约详情,确认合约部署及开源正常
7、配置合约参数及放弃合约所有权
三、合约文件源码解析
1、均摊分红无手续费算法代码如下:
function reflect(uint256 tAmount) public { address sender = _msgSender(); require(!_isExcluded[sender], "Excluded addresses cannot call this function"); Tranfee memory tranFee = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(tranFee.rAmount); _rTotal = _rTotal.sub(tranFee.rAmount); _tFeeTotal = _tFeeTotal.add(tAmount); }
function _transferStandard(address sender, address recipient, uint256 tAmount) private { uint256 currentRate = _getRate(); Tranfee memory tranFee = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(tranFee.rAmount); _rOwned[recipient] = _rOwned[recipient].add(tranFee.rTransferAmount); if( !_isExcludedFromFee[sender] && !_isExcludedFromFee[recipient] && (sender == _exchangePool || recipient == _exchangePool) ) { _reflectFee(tranFee.rFee, tranFee.tBurn.mul(currentRate), tranFee.tFee, tranFee.tBurn); _rOwned[_fundAddress] = _rOwned[_fundAddress].add(tranFee.tFund.mul(currentRate)); _tFundTotal = _tFundTotal.add(tranFee.tFund); _takeInviterFee(sender, recipient, tAmount); emit Transfer(sender, _burnPool, tranFee.tBurn); emit Transfer(sender, _fundAddress, tranFee.tFund); } emit Transfer(sender, recipient, tranFee.tTransferAmount); }
3、三代推广收益代码如下:
for (int256 i = 0; i < 3; i++) { uint256 rate; if (i == 0) { rate = 20; } else if (i == 1) { rate = 15; } else { rate = 5; } cur = inviter[cur]; if (cur == address(0)) { cur = _inviterDefault; } uint256 curTAmount = tAmount.mul(rate).div(1000); uint256 curRAmount = curTAmount.mul(currentRate); _rOwned[cur] = _rOwned[cur].add(curRAmount); _tInviterTotal = _tInviterTotal.add(curTAmount); emit Transfer(sender, cur, curTAmount); }
4、完整版合约文件:
至此,完成燃烧通缩营销钱包持币分红三代推广收益合约部署全流程所有操作。
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
此内容仅供注册用户可见,请登录!
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册