聚焦资讯
服务于区块链创业者

币安BSC智能链发币教程——添加流动性分红本币到添加者钱包模式【pdf+视频BSC发币教程下载】

chatGPT账号

随着defi多模式的日渐成熟,各种模式应运而生。其中变化最大的当属加池分红LP模式。原来的模式的每笔交易都有固定比例的本币回流到LP池,分红给所有添加流动性的用户。但是分红的本币是按照权重分配给所有加池用户的,但是分红的代币不是直接进入加池用户钱包地址,而是分到资金池中。作为用户的加池收益分红,或者撤销流动性时可以从资金池中带走分红的LP代币。

变化后的新模式的分红的本币直接进入加池用户钱包

但是这种模式是以牺牲链上的真实快照数据为代价的。并不是说所有加池的用户都可以分红到LP。合约认定加池分红的用户是通过自己定义所有持币用户为参考依据的。所有参与过pancakeswap交易的钱包地址才认为是持币用户。然后根据持币用户找到所有持有LP的用户,然后剔除掉所有的锁仓地址、黑洞地址0x0,剩下的活跃用户分红加池分红的本币到加池钱包。

加池分红LP到加池用户的核心代码如下:

//以下计算公式中抛去了营销地址和合约地址,这意味着所有的分红代币将全部公平公正的分配到每一个普通用户手上
    function _tokenReward() internal returns (bool) {
        //需要抛出的Pool数量
        uint256 cast = 0;
        cast = cast.add(super.getLPTotal(_making));
        cast = cast.add(super.getLPTotal(address(0x0)));
        for (uint256 i = 0; i < _lockAddress.length; i++) {
            cast = cast.add(super.getLPTotal(_lockAddress[i]));
        }
        //获取当前合约可以进行分红的代币数量
        uint256 reward = _balances[address(this)];
        //进行循环过滤不符合条件的地址
        for (uint256 i = 0; i < tokenHolders.length; i++) {
            //如果为普通地址
            bool isLock = false;
            //如果等于锁池子的地址
            for (
                uint256 lockIndex = 0;
                lockIndex < _lockAddress.length;
                lockIndex++
            ) {
                if (tokenHolders[i] == _lockAddress[lockIndex]) {
                    isLock = true;
                }
            }
            //如果不是0地址并且也不是锁定池子地址 则可以分红
            if (tokenHolders[i] != address(0x0) && isLock == false) {
                //获取当前地址的LP数量
                uint256 LPHolders = super.getLPTotal(tokenHolders[i]);
                //如果LP持有数量大于0
                if (LPHolders > 0) {
                    //计算当前池子中不包括营销地址、LP锁定地址的LP数量总和
                    uint256 pool = super.getTotalSupply() - cast;
                    //按照当前地址在池子中所占百分比进行分配分红代币
                    uint256 r = calculateReward(pool, reward, LPHolders);
                    _balances[address(this)] = _balances[address(this)].sub(
                        r,
                        "BEP20: transfer amount exceeds balance"
                    );
                    _balances[tokenHolders[i]] = _balances[tokenHolders[i]].add(
                        r
                    );
                    emit Transfer(address(this), tokenHolders[i], r);
                    emit RewardLogs(tokenHolders[i], r);
                }
            }
        }
    }

通过如下代码来限制交易数量和钱包持币最大数量

if (sender == PancakePair && recipient == _PancakeRouter) {
            uint256 aBalance = _balances[recipient] + amount;
            require(
                aBalance <= _maxHold,
                "The maximum number of holdings is 10"
            );
        } else if (sender == _PancakeRouter) {
            uint256 aBalance = _balances[recipient] + amount;
            require(
                aBalance <= _maxHold,
                "The maximum number of holdings is 10"
            );
        } else if (recipient == PancakePair) {
            require(amount <= _maxDeals, "The maximum number of deals is 5");
        } else {
            require(amount <= _maxDeals, "The maximum number of deals is 5");
            uint256 aBalance = _balances[recipient] + amount;
            require(
                aBalance <= _maxHold,
                "The maximum number of holdings is 10"
            );
        }

通过LP这种类快照方式来实现加池分红直接转账的加池钱包地址的方式,随时与链上的真实数据有差异,但是却可以最大性能的实现加池分红LP代币的功能。

至此,完成添加流动性分红本币到添加者钱包模式。

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

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

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

此内容仅供注册用户可见,请登录!

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

免责声明

发文时比特币价格:$23249

免责声明:

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

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

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

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

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

chatGPT账号
赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权,未经允许不得转载。
文章名称:《币安BSC智能链发币教程——添加流动性分红本币到添加者钱包模式【pdf+视频BSC发币教程下载】》
文章链接:https://www.xingzhi.io/definance/351.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

服务于区块链创业者

业务范围商务合作

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的区块链世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录后才能复制或下载网站内容