最近defi领域比较热门的当属bitcoin了,该模式创新的实现了自动加池,回流任何币种到营销钱包地址,回流任何币种代币到回购钱包地址,分红任意币种到所有的持币地址。目前主要的分红币种是大狗DOGE和RACA,在每笔交易时都会扣除部分的手续费用来分流到指定钱包和分红。
代币的具体模式如下:
1、每笔交易扣除部分手续费自动转换为指定的任意币种回流到营销钱包。
2、每笔交易扣除部分手续费自动转换为指定的任意币种回流到回购钱包。
3、每笔交易扣除部分手续费暂存到中转地址,当中转地址代币数量累积达到指定数量时,触发自动交易。先锁住资金池,其他进程暂时中止交易,目的是保持价格稳定。然后卖出一半数量的代币转换为BNB,然后使用获得的BNB和剩下的一半组成交易对,添加流动性。
4、每笔交易扣除部分手续费暂存到中转地址,当中转地址代币数量累积达到指定数量时,触发自动交易转换为指定分红的任意币种,分红给持币超过指定数量的持币地址。
【附注20221212】
持币分红功能模块核心代码实现原理如下:
a. 每笔交易扣除部分交易手续费暂时中转到咱存地址中
b. 当中转地址中的累计代币数量达到指定阈值时,触发代币的兑换,兑换本币到指定分红币种
c. 分红后的代币进入分红派发器地址中
d. 根据合约中识别出的持币地址中持有的本币数量占有效代币总量的权重,由分红派发器来执行主流币种分红派发
e. 在合约部署时涉及到父子合约关系,主合约部署时需要预先调用子合约地址,因此需要先部署可完成子合约,开源子合约并配置相关的动态参数后才能部署主合约。并且主合约在开源时还需要引用子合约类库。
分红任意币种的核心代码如下:
if( canSwap && !swapping && !automatedMarketMakerPairs[from] && from != owner() && to != owner() ) { swapping = true; uint256 burnTokens = contractTokenBalance.mul(burnFee).div(totalFees); super._transfer(address(this),deadWallet,burnTokens); uint256 marketingTokens = contractTokenBalance.mul(marketingFee).div(totalFees); swapAndSendToFee(marketingTokens); uint256 swapTokens = contractTokenBalance.mul(liquidityFee).div(totalFees); swapAndLiquify(swapTokens); uint256 sellTokens = balanceOf(address(this)); swapAndSendDividends(sellTokens); swapping = false; }
分红任何币种的操作代码段
function swapAndSendDividends(uint256 tokens) private{ swapTokensForDOGE(tokens); uint256 dividends = IERC20(DOGE).balanceOf(address(this)); bool success = IERC20(DOGE).transfer(address(dividendTracker), dividends); if (success) { dividendTracker.distributeDOGEDividends(dividends); emit SendDividends(tokens, dividends); } }
分红代码跟踪器,通过分红代码跟踪器来实现真实的分红
function process(uint256 gas) public returns (uint256, uint256, uint256) { uint256 numberOfTokenHolders = tokenHoldersMap.keys.length; if(numberOfTokenHolders == 0) { return (0, 0, lastProcessedIndex); } uint256 _lastProcessedIndex = lastProcessedIndex; uint256 gasUsed = 0; uint256 gasLeft = gasleft(); uint256 iterations = 0; uint256 claims = 0; while(gasUsed < gas && iterations < numberOfTokenHolders) { _lastProcessedIndex++; if(_lastProcessedIndex >= tokenHoldersMap.keys.length) { _lastProcessedIndex = 0; } address account = tokenHoldersMap.keys[_lastProcessedIndex]; if(canAutoClaim(lastClaimTimes[account])) { if(processAccount(payable(account), true)) { claims++; } } iterations++; uint256 newGasLeft = gasleft(); if(gasLeft > newGasLeft) { gasUsed = gasUsed.add(gasLeft.sub(newGasLeft)); } gasLeft = newGasLeft; } lastProcessedIndex = _lastProcessedIndex; return (iterations, claims, lastProcessedIndex); }
派发器核心代码如下:
function distributeDOGEDividends(uint256 amount) public onlyOwner{ require(totalSupply() > 0); if (amount > 0) { magnifiedDividendPerShare = magnifiedDividendPerShare.add( (amount).mul(magnitude) / totalSupply() ); emit DividendsDistributed(msg.sender, amount); totalDividendsDistributed = totalDividendsDistributed.add(amount); } }
至此,完成分红任何代码到持币钱包地址的合约代码实现。
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
币安智能链BSC发币(合约部署、开源、锁仓、LP、参数配置、开发、故障处理、工具使用)教程下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册