币安BSC智能链发币教程——扫描所有NFT,根据NFT持有情况分红代币【pdf+视频BSC发币教程下载】

  • A+

chatGPT账号

币安BSC智能链发币教程——扫描所有NFT,根据NFT持有情况分红代币【pdf+视频BSC发币教程下载】

一、说明

在defi生态建设中,通常会先部署代币,代币运营过程中会伴随发行NFT作品。然后代币会与NFT作品联动,为了推进NFT的交易情况,赋能NFT作品价值,增加NFT的流动性。通常会设置代币的交易手续费分红,按照用户持有NFT的情况,分红代币交易手续费到 NFT持有地址。并且按照NFT的持有权重分红代币交易手续费。

以下合约代码实现功能:

  1. 设置不同的买卖手续费,每笔交易扣除指定数量的税费用于NFT持有分红
  2. 扫描所有NFT collection,根据tokenID遍历所有NFT单品
  3. 按照地址持有NFT的数量权重,做代币的加权分红,可以分红本币也可以跨池兑换本币为usdt后直接分红usdt到NFT持有地址
  4. 遍历NFT过程设置gas费用上限,分批次实现NFT持有分红,并且实现断点续传功能即下次NFT持有分红从上传分红的结束节点继续分发,避免出现gas费用过高,NFT持有节点重复分红,后进节点长期无法获取分红的现象
  5. 设置NFT持有分红代币冷却时间,避免频繁分红消耗过高的gas费用,影响代币的正常交易
  6. 通过代币派发器实现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);
                        _nftReward[sender] += amount;
                    }
                }
            }

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

        processLargeNFTBlock = block.number;
    }

以上代码实现功能:循环遍历NFT的tokenID,给所有NFT的持有地址按照权重分红交易手续费本币

三、NFT持有分红本币/USDT合约完整版本合约源代码

币安BSC智能链发币教程——扫描所有NFT,根据NFT持有情况分红代币【pdf+视频BSC发币教程下载】

源码及合约部署、开源、上线交易所、动态参数配置教程下载地址:

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

至此,完成扫描所有NFT,根据NFT持有情况分红代币所有操作流程。

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

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

币安BSC智能链发币教程——扫描所有NFT,根据NFT持有情况分红代币【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——扫描所有NFT,根据NFT持有情况分红代币【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——扫描所有NFT,根据NFT持有情况分红代币【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——扫描所有NFT,根据NFT持有情况分红代币【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——扫描所有NFT,根据NFT持有情况分红代币【pdf+视频BSC发币教程下载】

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

币安BSC智能链发币教程——扫描所有NFT,根据NFT持有情况分红代币【pdf+视频BSC发币教程下载】币安BSC智能链发币教程——扫描所有NFT,根据NFT持有情况分红代币【pdf+视频BSC发币教程下载】

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

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

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

币安BSC智能链发币教程——扫描所有NFT,根据NFT持有情况分红代币【pdf+视频BSC发币教程下载】
免责声明

免责声明:

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

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

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

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

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

 

本文是全系列中第10 / 17篇:NFT发行

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

发表评论

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