币安BSC智能链发币教程——带黑白名单功能的合约代码【pdf+视频BSC发币教程下载】

  • A+
所属分类:币安BSC
24MEX
imtoken

BEP20实现带有黑白名单功能的合约代码。通过白名单可以限制部分钱包地址要执行某些特定的功能,或者绕开某些特定功能。比如目前主流的交易手续费(通缩,燃烧,基金会地址回流,加池分红,持币分红,持币生息)等功能都要在每一笔交易时实现扣除部分本币作为交易手续费。另外在添加资金池或者撤销流动性时都会收取部分本币手续费。但是对特定的钱包地址,比如主钱包地址需要设置免手续费,免通缩,免加池撤池手续费。

币安BSC智能链发币教程——带黑白名单功能的合约代码【pdf+视频BSC发币教程下载】

通过黑白名单功能实现设置特权账户,特权账户的地址可以绕开手续费限制。

黑名单可以强制用户必须收取交易手续费用。

实现黑白名单功能的合约核心代码部分如下:

contract Token is  {
    mapping(address => bool) private _isExcludedFromFee;
    constructor () public {
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;

        _balances[_msgSender()] = _totalSupply;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

transfer函数部分代码如下:

function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");

      /**
         * 省略部分逻辑代码
         */
            if(
                _isExcludedFromFee[sender] || 
                _isExcludedFromFee[recipient] || 
               //省略部分逻辑代码
            ) {
                removeAllFee();
            }
            _transferStandard(sender, recipient, amount);
            if(
                _isExcludedFromFee[sender] || 
                _isExcludedFromFee[recipient] || 
                //省略部分逻辑代码
            ) {
                restoreAllFee();
            }
        }
    }

 

通过黑白名单来限制特定用户执行某些功能或者绕开某些功能。

合约部署完成后,可以在链上触发相关的黑白名单功能,最终实现对特定钱包地址是设置。

注意:设置了黑白名单功能后,对合约上的gas消耗是有影响的,如果设置的功能过于复杂是会大幅度提升转账的gas费用的,尤其是对于功能已经比较复杂的合约来说,譬如目前的燃烧+通缩+基金会地址回流+加持分红+持币分红+持币生息模式的合约代码,因此,要谨慎设置黑白名单功能,或者简化繁琐的功能,以平衡过高的gas费用。

pdf+视频币安智能链BSC发币教程下载:
币安BSC智能链发币教程——带黑白名单功能的合约代码【pdf+视频BSC发币教程下载】
pdf+视频币安智能链BSC发币教程下载地址:
此处为隐藏的内容!
登录后才能查看!

扫码微信获取全程线上免费指导

币安BSC智能链发币教程——带黑白名单功能的合约代码【pdf+视频BSC发币教程下载】

至此,币安BSC智能链上带黑白名单功能的合约代码完成。
免责声明

发文时比特币价格:$64249

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

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

免责声明:

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

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

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

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

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

本文是全系列中第28 / 31篇:发行数字货币

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • App下载
  • 漫兮网App下载
  • weinxin
漫兮

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: