- A+
合约模式说明及解析:
一、可以实现部分代币自动卖出变成U,返回到dev钱包,也就是所谓的股息。
二、实现自动兑换U到dev钱包需要满足的条件:
1)contractTokenBalance >= numTokensSellToAddToLiquidity 合约地址内的代币数量达到了numTokensSellToAddToLiquidity指定的值后,就从合约地址内按照比例,一部分用来自动加池,一部分用来兑换成U,转入dev钱包。
2)当用户卖出时才会触发
4)swapDevEnabled参数控制是否开启兑换合约地址中的代币,兑换成U,自动转入dev钱包。如果不开启,代币回流到dev钱包地址,如果开启,代币回流到合约地址,用于自动兑换为U,转入dev钱包。默认情况下swapDevEnabled参数是不开启的。
5)liquifyEnabled参数控制是否开启自动加池,如果不开启自动加池,那么从合约地址中自动卖出的币兑换成的BNB是存放在合约地址中的。参数默认是false
6)swapDevEnabled参数控制是否开启应该回流到开发者钱包中的代币自动兑换成U,还是保留为本位币的形式。如果是兑换成U,就需要先回流到合约地址中,在合约地址中按照比例自动swap成U,然后转入dev钱包。
7)_inviterFee的值必须和for循环中逐代推广的累加和一致。TTS合约中_inviterFee为6%,第一代2%,第二代1%,第三到第八代0.5%,总计恰好是6%
8)合约不是回流资金池而是自动加池,累计回流到合约地址中的代币达到numTokensSellToAddToLiquidity时,就会自动卖出一半,锁住资金池后自动完成加池动作。然后另外一部分兑换成U,转账到dev钱包。要区分加池分红和自动加池,加池分红是所有加池的用户都会获得分红,自动加池是合约地址自动加池,任何用户都不会获得分红。
9)_devFee控制往合约地址回流代币的比例,如果设置为0,则取消了自动加池和dev钱包自动兑换U的功能。
10)_liquidityFee参数只在自动加池和兑换U到dev钱包的功能中起到一个划分比例的作用,在转账时不起作用。
11)foundAddress回流的代币数量也是由_devFee参数决定的,其中_devFee/2的回流基金会地址。_liquidityFee/(_liquidityFee+_devFee)的比例确定自动加池的比例,_devFee/(_liquidityFee+_devFee)确定自动兑换U转入dev钱包的比例
12)swapAndLiquifyEnabled参数是控制开启和关闭流动性相关属性的,并不能直接控制交易的开关。
三、合约代码中可以在部署合约时自动创建代币和WETH的交易对,这样在程序中可以通过交易对地址判断交易的流向(买入,卖出)
四、合约中setBlack函数可以设置黑名单账户,黑名单账户中的地址是不能交易的,也就是通常说的冻结账户。
五、setErc20With函数可以实现从合约地址中转账任何ERC20代币到指定的钱包地址。
六、setEthWith函数实现从合约地址中转账WETH到指定的钱包地址。
七、setOwner函数存在漏洞,可以设置多个owner,需要重复多次调用才能回收owner权限,尽量避免使用。
八、_takeLiquidity函数实现分流代币到合约地址,用于自动加池
九、合约地址的两个目的:
1)合约地址接收来自_takeDev函数回流的应该回流到dev钱包中的代币,先暂存到合约地址中,达到numTokensSellToAddToLiquidity后,自动兑换成u,转入dev钱包中
2)合约地址接收来自_takeLiquidity函数分红的用来自动加池的代币,先暂存到合约地址中,达到numTokensSellToAddToLiquidity后,自动兑换成WETH后,自动加池。
3)swapAndLiquify函数同时实现自动加池和自动兑换合约地址中的代币为U,转入dev钱包的功能。其中,(_liquidityFee).div(_liquidityFee.add(_devFee))为_takeLiquidity函数分红到合约地址中的代币,用于自动加池。(_devFee).div(_liquidityFee.add(_devFee))为_takeDev函数回流到合约地址中的代币,用于自动兑换为U,转入dev钱包。
function _reflectFee(uint256 rFee, uint256 tFee) private {
_rTotal = _rTotal.sub(rFee);
_tFeeTotal = _tFeeTotal.add(tFee);
}
动态8代推广合约代码如下:
function _takeInviterFee(
address sender,
address recipient,
uint256 tAmount
) private {
if (_inviterFee == 0) return;
uint256 currentRate = _getRate();
address cur = sender;
if (sender == uniswapV2Pair) {
cur = recipient;
} else if (recipient == uniswapV2Pair) {
cur = sender;
}
if (cur == address(0)) {
return;
}
for (int256 i = 0; i < 8; i++) {
uint256 rate;
if (i == 0) {
rate = 20;
} else if (i == 1) {
rate = 10;
} else {
rate = 5;
}
cur = inviter[cur];
if (cur == address(0)) {
cur = burnAddress;
}
uint256 curTAmount = tAmount.mul(rate).div(1000);
uint256 curRAmount = curTAmount.mul(currentRate);
_rOwned[cur] = _rOwned[cur].add(curRAmount);
emit Transfer(sender, cur, curTAmount);
}
}
通缩燃烧代码如下:
function _takeBurn(address sender,uint256 tBurn) private {
uint256 currentRate = _getRate();
uint256 rBurn = tBurn.mul(currentRate);
_rOwned[burnAddress] = _rOwned[burnAddress].add(rBurn);
emit Transfer(sender, burnAddress, tBurn);
}
开发者钱包回流代码如下:
function _takeDev(address sender, uint256 tDev) private {
uint256 currentRate = _getRate();
uint256 rDev = tDev.mul(currentRate);
if(!swapDevEnabled){
_rOwned[devAddress] = _rOwned[devAddress].add(rDev);
emit Transfer(sender, devAddress, tDev);
} else {
_rOwned[address(this)] = _rOwned[address(this)].add(rDev);
emit Transfer(sender, address(this), tDev);
}
}
分红和自动加池代码如下:
function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
uint256 lsDevFee = _devFee;
if(!swapDevEnabled){
lsDevFee = 0;
}
uint256 addHl = uint256(100).mul(_liquidityFee).div(_liquidityFee.add(lsDevFee));
uint256 addNumber = contractTokenBalance.mul(addHl).div(100);
uint256 devNumber = contractTokenBalance.sub(addNumber);
uint256 half = addNumber.div(2);
uint256 otherHalf = addNumber.sub(half);
uint256 initialBalance = address(this).balance;
// swap tokens for ETH
swapTokensForEth(half); // <- this breaks the ETH -> HATE swap when swap+liquify is triggered
// how much ETH did we just swap into?
uint256 newBalance = address(this).balance.sub(initialBalance);
// add liquidity to uniswap
if (liquifyEnabled) {
addLiquidity(otherHalf, newBalance);
}
swapTokensForDividendToken(devNumber);
emit SwapAndLiquify(half, newBalance, otherHalf);
}
至此,完成分红任何币种+自动加池+燃烧通缩+营销钱包+八代推广收益+开发者钱包+基金会钱包模式合约代码部署的所有操作流程。
本文是全系列中第50 / 62篇:通证发行
- justSwap开盘咯,你也想发个币去当庄家?手把手教你怎么用TRC20标准在tron发币
- TRX上发币教程(JustSwap怎么玩?JustSwap交易所新手使用教程)
- 币安智能链一键发币工具【BSC-TokenDIY】
- 波场trx公链上发行数字代币,上线justswap交易教程
- TRX上发币教程(玩转JustSwap,JustSwap小白发币教程)
- 波场trx发行数字货币——tronlink钱包添加发行的代币【justswap交易所】
- 波场TRX发行代币——上线justswap交易所【发币教程pdf下载】
- 火币生态链自助发币工具【HECO-TokenDIY】
- 币安智能链一键发币工具【BSC-TokenDIY】小白发币教程pdf下载
- imtoken钱包使用教程(图解)支持ERC2.0 TRC2.0下载注册安装交易
- imtoken钱包转账操作方法【imtoken钱包】使用教程【图解】
- 波场链发币教程——开发源代码验证合约代码【pdf+视频】
- 波场、币安、火币发币合约开源代码教程【PDF+视频】附合约代码
- 波场、币安、火币发币后无法在tp钱包显示解决方法
- 波场justswap币安pancakeswap火币mdex发币教程——波场地址转换为以太坊地址
- 币安BSC火币HECO波场TRX通缩燃烧持币分红模式的合约代码
- 波场链TRC20通缩、燃烧、分红、回流代币发行教程与合约代码
- 币安BSC智能链发币教程——metamask钱包使用【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——remix+metamask实现币安BSC链上发币【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——开源合约代码验证完全匹配【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——上线PancakeSwap薄饼交易所【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——获取薄饼PancakeSwap资金池地址【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——区块链浏览器上执行合约【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——通过standard json input方式开源合约【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——通缩燃烧加池分红基金会地址回流合约代码【pdf+视频BSC发币教程下载】
- 币安BSC,波场TRX,火币HECO链上的主流币兑换方法
- 波场链发币后在tp钱包余额显示异常,不显示小数点后面的数值
- 币安BSC智能链发币教程——带黑白名单功能的合约代码【pdf+视频BSC发币教程下载】
- pancakeswap薄饼上添加流动性时同时实现BNB和USDT的交易
- 币安BSC智能链发币教程——持币分红合约代码【pdf+视频BSC发币教程下载】
- 波场justswap币安pancakeswap火币mdex发币教程——tronide部署合约后一直卡住不动的处理方法
- 币安BSC智能链发币教程——手动燃烧功能合约代码【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——pancakeswap薄饼添加流动性后实现永久锁仓【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——无限增发功能合约代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——pancakeswap薄饼添加流动性后实现锁仓固定时间【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——合约实现自动加池(自动筑池)功能【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——动态推广收益八代推广收益级带收益空投锁定上下级【pdf+视频BSC发币教程下载】
- 波场justswap币安pancakeswap火币mdex发币教程——波场添加sunswap v1版本失败的解决方法
- 币安BSC智能链发币教程——质押挖矿,质押母币挖矿子币模式【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——添加流动性分红本币到添加者钱包模式【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——分红USDT到指定钱包地址或者添加流动性的用户钱包地址【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——挖矿模式合约代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——实时查询流动性LP占比,用户添加流动性的份额统计【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——分红任意代币到持币钱包地址的合约代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——合约中添加批量转账功能的合约代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——万能分红任何币种+自动添加流动性+营销钱包+销毁+买卖不同手续费合约代码部署【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——万能分红任何币种合约源代码解析【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——合约中增加批量转账功能【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——修改自动加池模式中所得LP的属主【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——分红任何币种+自动加池+燃烧通缩+营销钱包+八代推广收益+开发者钱包+基金会钱包模式合约代码部署【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——合约中引入黑名单功能及执行(解除)拉黑操作【pdf+视频BSC发币教程下载】
- 波场TRX链发币教程——上线sunswap后永久锁仓资金池【pdf+视频TRX发币教程下载】
- 币安BSC智能链发币教程——增加合约代码部署时必须完成的初始化功能【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——通过数组传递多个参数到构造函数的方式【pdf+视频BSC发币教程下载】
- 波场TRX链发币教程——sunswap v1和v2版本的区别,添加资金池异常【pdf+视频TRX发币教程下载】
- 币安BSC智能链发币教程——解决合约开源时无法获取构造函数输入参数的ABI码问题【pdf+视频BSC发币教程下载】
- 欧易OKC链发币教程——remix+metamask实现欧易OKC链上发币【pdf+视频OKC发币教程下载】
- 欧易OKC链发币教程——配置metamask钱包连接欧易OKC主网和测试网【pdf+视频OKC发币教程下载】
- 币安BSC智能链发币教程——时间锁合约部署及使用解析【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——合约中增加定时开放交易功能的代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——区分买入和撤销流动性,卖出和添加流动性的代码实现【pdf+视频BSC发币教程下载】
- 币安BSC智能链发币教程——fistswap添加流动性后LP加池分红FIST到添加流动性的钱包地址的代码实现【pdf+视频BSC发币教程下载】
- 我的微信
- 这是我的微信扫一扫
-
- App下载
- 漫兮网App下载
-