币安BSC智能链发币教程——分红任何币种+自动加池+燃烧通缩+营销钱包+八代推广收益+开发者钱包+基金会钱包模式合约代码部署【pdf+视频BSC发币教程下载】

  • A+
所属分类:币安BSC
摘要

分红任何币种+自动加池+燃烧通缩+营销钱包+八代推广收益+开发者钱包+基金会钱包模式合约代码部署

163Hash
Bitop
pi network

币安BSC智能链发币教程——分红任何币种+自动加池+燃烧通缩+营销钱包+八代推广收益+开发者钱包+基金会钱包模式合约代码部署【pdf+视频BSC发币教程下载】

合约模式说明及解析:

一、可以实现部分代币自动卖出变成U,返回到dev钱包,也就是所谓的股息。

二、实现自动兑换U到dev钱包需要满足的条件:

1)contractTokenBalance >= numTokensSellToAddToLiquidity  合约地址内的代币数量达到了numTokensSellToAddToLiquidity指定的值后,就从合约地址内按照比例,一部分用来自动加池,一部分用来兑换成U,转入dev钱包。

2)当用户卖出时才会触发

3)swapAndLiquifyEnabled值为true

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钱包。

所以,合约地址中的两部分代币的比例是非常明确的:_liquidityFee :_devFee
4)_devFee中有一半进入foundaddress,_liquidityFee中有一半卖出变成weth。实际上合约地址中的_takeLiquidity函数分红的代币比例应该是(_liquidityFee).div(_liquidityFee.add(_devFee/2)),合约中直接取了(_liquidityFee).div(_liquidityFee.add(_devFee)),实际上是错误的,但是不影响合约中的执行。
这样取的话,相当于_takeLiquidity函数分红来的币部分用于自动兑换成U,转入dev钱包地址了,本来用于自动加池的币减少了。
十、swapDevEnabled参数控制是否开启代币回流到合约地址后自动兑换成U,转入dev钱包地址。liquifyEnabled参数控制_takeLiquidity函数分红到合约地址中的代币是否自动完成加池。如果不开启,当合约地址中的代币总量达到numTokensSellToAddToLiquidity后,用于加池部分的代币会自动兑换成WETH后保存到合约地址中,不加池。
十一、swapDevEnabled和liquifyEnabled参数互不影响,非常清晰。
十二、_takeLiquidity函数分红到合约地址的代币,合约地址持币余额并不会立刻增加分红部分的数量,需要对合约地址有实际的转账(通常是转入),即调用transfer函数后余额中才会增加分红部分的代币数量
合约源代码实现:
分红代码具体如下:
 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);
    }

至此,完成分红任何币种+自动加池+燃烧通缩+营销钱包+八代推广收益+开发者钱包+基金会钱包模式合约代码部署的所有操作流程。

pdf+视频币安智能链BSC发币教程下载:
币安BSC智能链发币教程——分红任何币种+自动加池+燃烧通缩+营销钱包+八代推广收益+开发者钱包+基金会钱包模式合约代码部署【pdf+视频BSC发币教程下载】

pdf+视频币安智能链BSC发币教程下载地址:

此处为隐藏的内容!
登录后才能查看!

添加VX或者telegram获取全程线上免费指导

币安BSC智能链发币教程——分红任何币种+自动加池+燃烧通缩+营销钱包+八代推广收益+开发者钱包+基金会钱包模式合约代码部署【pdf+视频BSC发币教程下载】

免责声明

发文时比特币价格:$31249

当前比特币价格:[crypto coins=”BTC” type=”text” show=”price”]

当前比特币涨幅:[crypto coins=”BTC” type=”text” show=”percent”]

免责声明:

本文不代表漫兮网立场,且不构成投资建议,请谨慎对待。用户由此造成的损失由用户自行承担,与漫兮网没有任何关系;

漫兮网不对网站所发布内容的准确性,真实性等任何方面做任何形式的承诺和保障;

网站内所有涉及到的区块链(衍生)项目,漫兮网对项目的真实性,准确性等任何方面均不做任何形式的承诺和保障;

网站内所有涉及到的区块链(衍生)项目,漫兮网不对其构成任何投资建议,用户由此造成的损失由用户自行承担,与漫兮网没有任何关系;

漫兮区块链研究院声明:漫兮区块链研究院内容由漫兮网发布,部分来源于互联网和行业分析师投稿收录,内容为漫兮区块链研究院加盟专职分析师独立观点,不代表漫兮网立场。

本文是全系列中第50 / 62篇:通证发行

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • App下载
  • 漫兮网App下载
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: