币安智能链BSC发币教程——加池分红usdt和持币分红usdt的派发器代码区别【pdf+视频币安链BSC发币教程下载】

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

加池分红usdt和持币分红usdt的派发器代码区别


chatGPT账号

币安智能链BSC发币教程——加池分红usdt和持币分红usdt的派发器代码区别【pdf+视频币安链BSC发币教程下载】

一、说明

1、加池分红顾名思义就是添加流动性分红指定币种,可以分红主流代币比如:usdt,bnb,doge等,也可以分红指定任意币种。只要添加流动性就可以按照LP的权重分红其他币种。

2、持币分红即钱包地址持有自定义代币即可获得对应代币的分红,并且按照钱包持币的权重分红相应比例的其他代币。

注:两种模式虽然都是分红其他币种,但是分红模式和原理是不同的,实现主要分红功能的派发器合约代码也是不同的。

二、派发器代码区别

1、持币分红派发器代码:

以下是主要用来实现代币分红派发的核心功能process代码实现

function process(uint256 gas)
    public
    returns (
        uint256,
        uint256,
        uint256
    )
    {
        uint256 numberOfTokenHolders = tokenHoldersMap.keys.length;

        if (numberOfTokenHolders == 0) {
            return (0, 0, lastProcessedIndex);
        }

        uint256 _lastProcessedIndex = lastProcessedIndex;

        uint256 gasUsed = 0;

        uint256 gasLeft = gasleft();

        uint256 iterations = 0;
        uint256 claims = 0;

        while (gasUsed < gas && iterations < numberOfTokenHolders) {
            _lastProcessedIndex++;

            if (_lastProcessedIndex >= tokenHoldersMap.keys.length) {
                _lastProcessedIndex = 0;
            }

            address account = tokenHoldersMap.keys[_lastProcessedIndex];

            if (canAutoClaim(lastClaimTimes[account])) {
                if (processAccount(payable(account), true)) {
                    claims++;
                }
            }
            iterations++;

            uint256 newGasLeft = gasleft();

            if (gasLeft > newGasLeft) {
                gasUsed = gasUsed.add(gasLeft.sub(newGasLeft));
            }

            gasLeft = newGasLeft;
        }

        lastProcessedIndex = _lastProcessedIndex;

        return (iterations, claims, lastProcessedIndex);
    }

上述代码主要原理是每次有买卖交易时,添加对应的msg.sender地址到相关持币数组中。遍历持币数组,结合相关的代币权重来分红指定主流币种。

2、加池分红派发器代码

以下主要是加池分红派发器支持多币种派发,其构造函数如下:

contract MultTokenDistributor {
    constructor (address token1, address token2) {
        IERC20(token1).approve(msg.sender, uint(~uint256(0)));
        IERC20(token2).approve(msg.sender, uint(~uint256(0)));
    }

    receive() external payable {}

以上派发器代码支持同时派发多币种,以上设计原因主要是考虑到:加池分红不一定只分一种币种,有可能分红多个币种,因此需要支持多币种派发。

合约中包括 receive()函数的原因是为支持分红WETH

当交易触发相关的代币兑换数量阈值及分红机制时会实现按照权重做加池分红、持币分红等相关分红机制。

三、加池分红完整版合约源代码如下

币安智能链BSC发币教程——加池分红usdt和持币分红usdt的派发器代码区别【pdf+视频币安链BSC发币教程下载】

四、合约部署、开源、上线交易所、动态参数配置教程如下

币安智能链BSC发币教程——加池分红usdt和持币分红usdt的派发器代码区别【pdf+视频币安链BSC发币教程下载】

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

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

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发币教程下载】
免责声明

免责声明:

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

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

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

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

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

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

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

发表评论

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