币安BSC智能链发币教程——万能分红任何币种+自动添加流动性+营销钱包+销毁+买卖不同手续费合约代码部署【pdf+视频BSC发币教程下载】

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

万能分红任何币种+自动添加流动性+营销钱包+销毁+买卖不同手续费合约代码部署


chatGPT账号

币安BSC智能链发币教程——万能分红任何币种+自动添加流动性+营销钱包+销毁+买卖不同手续费合约代码部署【pdf+视频BSC发币教程下载】

目前市面主流的模式包括分红任意币种,自动添加流动性,营销钱包地址回流,燃烧销毁通缩,买卖设置不同的手续费比例。针对这几种模式的组合,本文通过如下合约将以上所有模式包含的同一个合约中实现上述功能,如果其中的某一个或者几个不需要,可以通过设置对应流向的手续费比例为0来关闭次功能。

以下为合约模式的介绍:

a. 可以实现分红任何币种,即所谓的万能分红合约,并且分红给的代币合约地址是通过构造函数传入的。

b. 实现自动筑池,添加流动性的 LP 属于黑洞地址 address(0)

c. 手续费回流营销钱包,并且回流的是指定的分红币种,非本币

d. 每笔交易都会有部分手续费销毁掉,转入黑洞地址 0x000000000000000000000000000000000000dEaD ,但是代币的总发行量不会减少。严格来说这不是销毁,是每笔交易都有部分代币作为手续费被永久锁定到BSC公认黑洞地址。

e. 该合约可以实现买入卖出配置不同的交易手续费,对应的分红,自动筑池,营销钱包,销毁的手续费可以灵活配置买入卖出时不同的比例。对应的手续费设置为0相当于关闭了该功能。这个功能是非常灵活和强大的,已经包含的功能基本上涵盖了目前市面上绝大部分的主流模式。

合约部署步骤:

1、所有sol文件(包括token文件)全部编译完成后,执行合约的部署。

2、在remix编译器中先部署 BABYTOKENDividendTracker  合约,该合约部署时会同时自动部署 IterableMapping  合约

币安BSC智能链发币教程——万能分红任何币种+自动添加流动性+营销钱包+销毁+买卖不同手续费合约代码部署【pdf+视频BSC发币教程下载】

对应的合约源代码如下:

IterableMapping合约源代码

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

library IterableMapping {
    // Iterable mapping from address to uint;
    struct Map {
        address[] keys;
        mapping(address => uint256) values;
        mapping(address => uint256) indexOf;
        mapping(address => bool) inserted;
    }

    function get(Map storage map, address key) public view returns (uint256) {
        return map.values[key];
    }

    function getIndexOfKey(Map storage map, address key)
    public
    view
    returns (int256)
    {
        if (!map.inserted[key]) {
            return -1;
        }
        return int256(map.indexOf[key]);
    }

    function getKeyAtIndex(Map storage map, uint256 index)
    public
    view
    returns (address)
    {
        return map.keys[index];
    }

    function size(Map storage map) public view returns (uint256) {
        return map.keys.length;
    }

    function set(
        Map storage map,
        address key,
        uint256 val
    ) public {
        if (map.inserted[key]) {
            map.values[key] = val;
        } else {
            map.inserted[key] = true;
            map.values[key] = val;
            map.indexOf[key] = map.keys.length;
            map.keys.push(key);
        }
    }

    function remove(Map storage map, address key) public {
        if (!map.inserted[key]) {
            return;
        }

        delete map.inserted[key];
        delete map.values[key];

        uint256 index = map.indexOf[key];
        uint256 lastIndex = map.keys.length - 1;
        address lastKey = map.keys[lastIndex];

        map.indexOf[lastKey] = index;
        delete map.indexOf[key];

        map.keys[index] = lastKey;
        map.keys.pop();
    }
}

BABYTOKENDividendTracker合约源代码:

contract BABYTOKENDividendTracker is OwnableUpgradeable, DividendPayingToken {
    using SafeMath for uint256;
    using SafeMathInt for int256;
    using IterableMapping for IterableMapping.Map;

    IterableMapping.Map private tokenHoldersMap;
    uint256 public lastProcessedIndex;

    mapping(address => bool) public excludedFromDividends;

    mapping(address => uint256) public lastClaimTimes;

    uint256 public claimWait;
    uint256 public minimumTokenBalanceForDividends;

    event ExcludeFromDividends(address indexed account);
    event ClaimWaitUpdated(uint256 indexed newValue, uint256 indexed oldValue);

    event Claim(
        address indexed account,
        uint256 amount,
        bool indexed automatic
    );

    function initialize(
        address rewardToken_,
        uint256 minimumTokenBalanceForDividends_
    ) external initializer {
        DividendPayingToken.__DividendPayingToken_init(
            rewardToken_,
            "DIVIDEND_TRACKER",
            "DIVIDEND_TRACKER"
        );
        claimWait = 3600;
        minim

3、部署完成后先开源 IterableMapping 合约,再开源 BABYTOKENDividendTracker 合约

IterableMapping 合约的开源只需要 IterableMapping.sol 文件即可

再开源 BABYTOKENDividendTracker 合约,共计需要15个合约文件,并且开源合约时需要附加必需的IterableMapping类库。

4、部署Token合约

合约需要输入相关的构造函数参数,其中包括三个数组。

输入参数解析

a. 分红的代币为USDT

b. uniswapV2Router地址PancakeSwapV2Router

开源后的构造函数输入参数显示如下:

5、开源Token合约

ABYTOKENDividendTracker  合约需要依赖 IterableMapping  类库,开源 BABYTOKENDividendTracker  合约时必须附加 IterableMapping  类库。Token合约中是clone了一个BABYTOKENDividendTracker  类似合约,不是直接调用的 BABYTOKENDividendTracker  合约。

Token中合约克隆BABYTOKENDividendTracker  类似合约的代码如下:
币安BSC智能链发币教程——万能分红任何币种+自动添加流动性+营销钱包+销毁+买卖不同手续费合约代码部署【pdf+视频BSC发币教程下载】

至此,完成万能分红任何币种+自动添加流动性+营销钱包+销毁+买卖不同手续费合约代码部署所有操作流程。

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

币安BSC智能链发币教程——万能分红任何币种+自动添加流动性+营销钱包+销毁+买卖不同手续费合约代码部署【pdf+视频BSC发币教程下载】

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

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

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

币安BSC智能链发币教程——万能分红任何币种+自动添加流动性+营销钱包+销毁+买卖不同手续费合约代码部署【pdf+视频BSC发币教程下载】

免责声明

发文时比特币价格:$41249

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

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

免责声明:

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

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

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

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

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

 

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

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

发表评论

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