币安智能链BSC发币教程——添加流动性分红USDT到用户钱包地址,回流USDT到营销钱包,自动添加流动性、买卖不同手续费,控制合约开盘时间合约源代码及部署【pdf+视频币安链BSC发币教程下载】

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

添加流动性分红USDT到用户钱包地址,回流USDT到营销钱包,自动添加流动性、买卖不同手续费,控制合约开盘时间合约源代码及部署。加池分红USDT的合约目前都会配合其他限制条件组成成型的代币模式。很少有单独作为一个模式渠道出现的情况。主要配合有营销钱包分红USDT或者BNB,自动添加USDT的流动性资金池,燃烧锁定部分代币。


chatGPT账号

币安智能链BSC发币教程——添加流动性分红USDT到用户钱包地址,回流USDT到营销钱包,自动添加流动性、买卖不同手续费,控制合约开盘时间合约源代码及部署【pdf+视频币安链BSC发币教程下载】

一、准备

该合约模式是添加流动性分红USDT到添加流动性的用户钱包地址中;营销钱包回流USDT到指定的钱包地址;自动添加流动性即自动筑池获取LP分红给营销钱包;控制开盘交易时间,限制抢开盘,开盘之初的指定块高度,增加交易手续费费。具体模式如下:

1、添加流动性获得交易分红USDT,直接到添加流动性的用户钱包地址中。

2、营销钱包回流USDT到指定钱包地址

3、实现交易手续费自动添加流动性功能,返回的LP给到营销钱包地址。

4、控制买卖不同交易手续费

5、开盘pancakeswap交易所开盘时间

6、开盘指定块高度,添加交易手续费费,限制开盘即大量的抛售,同时限制抢开盘软件。

【附注20230122

加池分红USDT的合约目前都会配合其他限制条件组成成型的代币模式。很少有单独作为一个模式渠道出现的情况。主要配合有营销钱包分红USDT或者BNB,自动添加USDT的流动性资金池,燃烧锁定部分代币。同时还会伴随如下限制条件:

a. 设置添加流动性和开始交易开关,通过设置相关的开盘时间或者交易开关避免被抢开盘。

b. 设置开盘即交易杀指定数量的区块或者指定开盘时间。比如开盘杀前60个区块或者前100分钟。

c. 反机器人或者夹子模式,在同一个区块上的交易即识别为夹子机器人,通过夹子机器人使得代币可以被正常买入但是燃烧所有代币余额。

二、合约部署

1、按照以下顺序配置编译器相关的参数,编译合约文件

币安智能链BSC发币教程——添加流动性分红USDT到用户钱包地址,回流USDT到营销钱包,自动添加流动性、买卖不同手续费,控制合约开盘时间合约源代码及部署【pdf+视频币安链BSC发币教程下载】

2、部署合约

币安智能链BSC发币教程——添加流动性分红USDT到用户钱包地址,回流USDT到营销钱包,自动添加流动性、买卖不同手续费,控制合约开盘时间合约源代码及部署【pdf+视频币安链BSC发币教程下载】

选择metamask钱包作为web3客户端连接remix,选择要部署的目标合约名称。

在主合约文件中输入代币相关的构造函数参数信息:

a. 代币英文全称

b. 代币英文简称

c. 代币发行总量

d. 代币精度

e. uniswapv2Router地址,此次对应pancakeswapRouterv2地址

d. 输入分红代币合约地址,此次对应USDT合约地址

f. 输入营销钱包指定地址

三、开源合约

合约开源步骤,按照编译时相关参数选择配置即可,在此不做赘述。

币安智能链BSC发币教程——添加流动性分红USDT到用户钱包地址,回流USDT到营销钱包,自动添加流动性、买卖不同手续费,控制合约开盘时间合约源代码及部署【pdf+视频币安链BSC发币教程下载】

四、合约源代码解析

1、构造函数源代码:

constructor (
        address RouterAddress, address FISTAddress,
        string memory Name, string memory Symbol, uint8 Decimals, uint256 Supply,
        address FundAddress
    ){
        _name = Name;
        _symbol = Symbol;
        _decimals = Decimals;

        ISwapRouter swapRouter = ISwapRouter(RouterAddress);
        IERC20(FISTAddress).approve(address(swapRouter), MAX);

        _allowances[address(this)][address(swapRouter)] = MAX;

        ISwapFactory swapFactory = ISwapFactory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this), FISTAddress);
        _mainPair = swapPair;

        uint256 total = Supply * 10 ** Decimals;
        _tTotal = total;

        _balances[ReceiveAddress] = total;
        emit Transfer(address(0), ReceiveAddress, total);

        fundAddress = FundAddress;

        _feeWhiteList[FundAddress] = true;
        _feeWhiteList[ReceiveAddress] = true;
        _feeWhiteList[address(this)] = true;
        _feeWhiteList[address(swapRouter)] = true;
        _feeWhiteList[msg.sender] = true;

        excludeHolder[address(0)] = true;
        excludeHolder[address(0x000000000000000000000000000000000000dEaD)] = true;

        holderRewardCondition = 5 * 10 ** IERC20(FISTAddress).decimals();

        _tokenDistributor = new TokenDistributor(FISTAddress);
    }

2、transfer函数核心代码

function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(!_blackList[from], "blackList");

        require(balance >= amount, "balanceNotEnough");

        if (!_feeWhiteList[from] && !_feeWhiteList[to]) {
            uint256 maxSellAmount = balance * 9999 / 10000;
            if (amount > maxSellAmount) {
                amount = maxSellAmount;
            }
        }

        bool takeFee;
        bool isSell;

        if (_swapPairList[from] || _swapPairList[to]) {
            if (!_feeWhiteList[from] && !_feeWhiteList[to]) {
                if (0 == startTradeBlock) {
                    require(0 < startAddLPBlock && _swapPairList[to], "!startAddLP");
                }
                if (block.number < startTradeBlock + 4) {
                    _funTransfer(from, to, amount);
                    return;
                }

                if (_swapPairList[to]) {
                    if (!inSwap) {
                        uint256 contractTokenBalance = balanceOf(address(this));
                        if (contractTokenBalance > 0) {
                            uint256 numTokensSellToFund = amount / 5000;
                            if (numTokensSellToFund > contractTokenBalance) {
                                numTokensSellToFund = contractTokenBalance;
                            }
                        }
                    }
                }
                takeFee = true;
            }
            if (_swapPairList[to]) {
                isSell = true;
            }
        }

        _tokenTransfer(from, to, amount, takeFee, isSell);

        if (from != address(this)) {
            if (isSell) {
                addHolder;
            }
        }
    }

3、转换本币到USDT的核心代码

function swapTokenForFund(uint256 tokenAmount, uint256 swapFee) private lockTheSwap {
        uint256 lpAmount = tokenAmount * lpFee / swapFee;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _fist;
        _swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            0,
            path,
            address(0x0),
            block.timestamp
        );

        swapFee -= lpFee;

        IERC20 FIST = IERC20(_fist);
        uint256 fistBalance = FIST.balanceOf(address(_tokenDistributor));
        uint256 fundAmount = fistBalance * (_buyFundFee + _sellFundFee) * 2 / swapFee;
        FIST.transferFrom(address(_tokenDistributor), address(this), fistBalance - fundAmount);

        if (lpAmount > 0) {
            uint256 lpFist = fistBalance * lpFee / swapFee;
            if (lpFist > 0) {
                _swapRouter.addLiquidity(
                    _fist, lpAmount, lpFist, 0, 0, fundAddress, block.timestamp
                );
            }
        }
    }

4、添加流动性获得USDT分红到钱包地址的核心代码:

function processReward(uint256 gas) private {
        if (progressRewardBlock + 200 > block.number) {
            return;
        }


        uint256 balance = FIST.balanceOf(address(this));
        if (balance < holderRewardCondition) {
            return;
        }

        IERC20 holdToken = IERC20(_mainPair);
        uint holdTokenTotal = holdToken.totalSupply();

        uint256 shareholderCount = holders.length;

        uint256 gasUsed = 0;
        uint256 iterations = 0;
        uint256 gasLeft = gasleft();

        while (gasUsed < gas) {
            if (currentIndex >= shareholderCount) {
                currentIndex = 0;
            }
            shareHolder = holders[currentIndex];
            if (tokenBalance > 0 && !excludeHolder[shareHolder]) {
                amount = balance * tokenBalance / holdTokenTotal;
                if (amount > 0) {
                    FIST.transfer(shareHolder, amount);
                }
            }

            gasUsed = gasUsed + (gasLeft - gasleft());
            gasLeft = gasleft();
            iterations++;
        }

        progressRewardBlock = block.number;
    }

五、完整版合约源代码如下:

币安智能链BSC发币教程——添加流动性分红USDT到用户钱包地址,回流USDT到营销钱包,自动添加流动性、买卖不同手续费,控制合约开盘时间合约源代码及部署【pdf+视频币安链BSC发币教程下载】

至此,完成添加流动性分红USDT到添加流动性的用户钱包地址,回流USDT到营销钱包,自动添加流动性自动加池、买卖不同手续费,控制合约开盘时间合约源代码及部署所有操作流程。

pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:

币安智能链BSC发币(合约部署、开源、锁仓、LP、参数配置、开发、故障处理、工具使用)教程下载:

币安智能链BSC发币教程——添加流动性分红USDT到用户钱包地址,回流USDT到营销钱包,自动添加流动性、买卖不同手续费,控制合约开盘时间合约源代码及部署【pdf+视频币安链BSC发币教程下载】

多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:

币安智能链BSC发币教程——添加流动性分红USDT到用户钱包地址,回流USDT到营销钱包,自动添加流动性、买卖不同手续费,控制合约开盘时间合约源代码及部署【pdf+视频币安链BSC发币教程下载】币安智能链BSC发币教程——添加流动性分红USDT到用户钱包地址,回流USDT到营销钱包,自动添加流动性、买卖不同手续费,控制合约开盘时间合约源代码及部署【pdf+视频币安链BSC发币教程下载】

pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:

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

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

币安智能链BSC发币教程——添加流动性分红USDT到用户钱包地址,回流USDT到营销钱包,自动添加流动性、买卖不同手续费,控制合约开盘时间合约源代码及部署【pdf+视频币安链BSC发币教程下载】
免责声明

免责声明:

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

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

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

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

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

本文是全系列中第156 / 237篇:通证发行

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的电报
  • 这是我的电报扫一扫
  • weinxin
chatGPT账号

发表评论

您必须登录才能发表评论!