币安智能链BSC发币教程——加池分红BNB导致交易失败、转账的BNB数量为零故障原因分析【pdf+视频币安链BSC发币教程下载】

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

加池分红BNB导致交易失败、转账的BNB数量为零故障原因分析。分红usdt是采用分红ERC20标准协议的实现方式,BNB不属于ERC20标准,BNB是bsc链上的主流代币不是ERC20标准,对应映射BNB的ERC20标准代币是WBNB。但是在合约中尽量避免使用分红WBNB的方式,采用另外的处理BNB的方法。


chatGPT账号

币安智能链BSC发币教程——加池分红BNB导致交易失败、转账的BNB数量为零故障原因分析【pdf+视频币安链BSC发币教程下载】

一、背景

在常见的加池分红合约中,通常分红usdt或者其他主流币种,但是很少见到分红BNB的情况。概况原因主要还是分红BNB的写法与分红其他主流币种是有区别的。很多场景下不能复用,导致分红BNB的合约针对性过高,合约复用的难度比较大。并且在分红BNB的合约中,注意事项比较多,稍不注意会因为功能函数是缺少,导致合约部署失败。

【附注20230124】

分红usdt是采用分红ERC20标准协议的实现方式,BNB不属于ERC20标准,BNB是bsc链上的主流代币不是ERC20标准,对应映射BNB的ERC20标准代币是WBNB。但是在合约中尽量避免使用分红WBNB的方式,采用另外的处理BNB的方法。

二、常见问题

1、加池分红BNB的合约部署完成后,在触发本币兑换指定主流币种时发生交易异常。关闭本币兑换指定币种开关后,交易可以正常执行,说明了兑换相关币种的操作过程中合约有异常,主要原因考虑是分红BNB导致。

2、加池分红BNB分红触发后,发现转账分红的BNB数量为零。通常也是由于分红BNB的原因导致,BNB作为WETH不能同属于IERC20标准。
三、解决方案

1、派发器增加函数receive()来接收WETH即BSC的BNB

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 {}
}

2、加池分红BNB处理器中增加对BNB的支持

address[] memory path = new address[](3);
        path[0] = address(this);
        path[1] = _swapRouter.WETH();
        path[2] = _erc20;

        _approve(address(this), address(_swapRouter), _tTotal);

        // make the swap
        _swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            tokenAmount.sub(lpAmount).sub(lprthAmount),
            0, // accept any amount of dividend token
            path,
            address(_tokenDistributor),
            block.timestamp
        );
        
        swapFee = swapFee.sub(lpFee).sub(lprthFee);

        IERC20 ETC20 = IERC20(_fist);
        uint256 fundAmount = erc20Balance.mul(_buyFundFee.add(_sellFundFee)).div(swapFee);
        if(fundAmount > 0) {
            ETC20.transferFrom(address(_tokenDistributor), fundAddress, fundAmount);
        }
        ERC20.transferFrom(address(_tokenDistributor), address(this), erc20Balance.sub(fundAmount));

通过上述方式增加对BNB的支持,就可以实现加池分红BNB的功能机制

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

币安智能链BSC发币教程——加池分红BNB导致交易失败、转账的BNB数量为零故障原因分析【pdf+视频币安链BSC发币教程下载】

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

币安智能链BSC发币教程——加池分红BNB导致交易失败、转账的BNB数量为零故障原因分析【pdf+视频币安链BSC发币教程下载】

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

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

至此,完成加池分红BNB导致交易失败、转账的BNB数量为零故障原因分析

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

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

币安智能链BSC发币教程——加池分红BNB导致交易失败、转账的BNB数量为零故障原因分析【pdf+视频币安链BSC发币教程下载】

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

币安智能链BSC发币教程——加池分红BNB导致交易失败、转账的BNB数量为零故障原因分析【pdf+视频币安链BSC发币教程下载】币安智能链BSC发币教程——加池分红BNB导致交易失败、转账的BNB数量为零故障原因分析【pdf+视频币安链BSC发币教程下载】

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

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

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

币安智能链BSC发币教程——加池分红BNB导致交易失败、转账的BNB数量为零故障原因分析【pdf+视频币安链BSC发币教程下载】
免责声明

免责声明:

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

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

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

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

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

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

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

发表评论

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