币安BSC智能链发币教程——pancakeswap V3版本实现LP加池分红usdt的完整代码实现【pdf+视频BSC发币教程下载】

  • A+
所属分类:币安BSC

chatGPT账号

币安BSC智能链发币教程——pancakeswap V3版本实现LP加池分红usdt的完整代码实现【pdf+视频BSC发币教程下载】

pancakeswap 、uniswap、sushiswap等主流DEX目前都已经升级到V3版本。v3与v2版本在添加流动性产生LP方面发生了根本的区别。原来在v2版本用户添加流动性后会根据用户添加代币的数量以及配对usdt的数量计算产生出lp的数量,将lp分发到添加流动性的用户钱包地址中。lp作为一个独立的代币,只对该交易对有效,不同的资金池之间是互相隔离的。v3版本将所有资金池融合成一个大池,用户添加流动性获取的lp是ERC721标准的NFT,并且所有资金池共享一个NFT合约,只是不同的资金池对应的加池用户的NFT的tokenid不同。基于以上版本升级的改变,原来用户添加流动性获取LP,根据用户加池份额分红手续费usdt的逻辑代码失效,无法在v3版本上实现lp加池分红usdt。

基于V3版本重新修改lp加池分红usdt的逻辑代码实现,主要原理如下:更加用户持有的NFT数量,每个nft对应等额的usdt,遍历所有NFT同时要求用户持有本币才能获取LP加池分红,通过以上原理筛选出lp加池用户,进而分发usdt手续费分红。

基本的实现方式等同于NFT分红模式,核心代码实现如下:

function processLargeNFTReward(uint256 gas) private {
        if (processLargeNFTBlock + processLargeNFTBlockDebt > block.number) {
            return;
        }
        uint totalNFT = nft.totalSupply();
        if (0 == totalNFT) {
            return;
        }
        uint256 rewardCondition = nftRewardCondition;
        address sender = address(_tokenDistributor);
        if (balanceOf(address(sender)) < rewardCondition) {
            return;
        }

        uint256 amount = rewardCondition / totalNFT;

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

        address shareHolder;
        uint256 limitAmount = _limitAmount;
        uint256 shareHolderBalance;

        while (gasUsed < gas && iterations < totalNFT) {
            if (currentLargeNFTIndex >= totalNFT) {
                currentLargeNFTIndex = 0;
            }
            if (!excludeNFTHolder[shareHolder]) {
                if (0 == limitAmount || _feeWhiteList[shareHolder]) {
                    _tokenTransfer(sender, shareHolder, amount, false);
                    _nftReward[shareHolder] += amount;
                } else {
                    shareHolderBalance = balanceOf(shareHolder);
                    if (shareHolderBalance + amount <= limitAmount) {
                        _tokenTransfer(sender, shareHolder, amount, false);
                    }
                }
            }

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

        processLargeNFTBlock = block.number;
    }

至此,完成pancakeswap V3版本实现LP加池分红usdt的完整代码实现的所有操作流程。

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

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

币安BSC智能链发币教程——pancakeswap V3版本实现LP加池分红usdt的完整代码实现【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——pancakeswap V3版本实现LP加池分红usdt的完整代码实现【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——pancakeswap V3版本实现LP加池分红usdt的完整代码实现【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——pancakeswap V3版本实现LP加池分红usdt的完整代码实现【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——pancakeswap V3版本实现LP加池分红usdt的完整代码实现【pdf+视频BSC发币教程下载】

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

币安BSC智能链发币教程——pancakeswap V3版本实现LP加池分红usdt的完整代码实现【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——pancakeswap V3版本实现LP加池分红usdt的完整代码实现【pdf+视频BSC发币教程下载】

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

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

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

币安BSC智能链发币教程——pancakeswap V3版本实现LP加池分红usdt的完整代码实现【pdf+视频BSC发币教程下载】
免责声明

免责声明:

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

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

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

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

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

本文是全系列中第219 / 238篇:通证发行

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

发表评论

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