用户自行领取空投的合约功能模块使用说明、部署及开源

  • A+
所属分类:币安BSC

chatGPT账号

用户自行领取空投的合约功能模块使用说明、部署及开源

一、说明
1. 合约可以针对指定的币种做提现设置,设置允许提现的最大及最小数量,提现手续费,是否关闭提现币种,set接口为changeConfig
2. 如果是提现BNB,可以针对不同的用户设置提现批次,不同的批次设置最大提现比例,同时可以设置是否启用关闭该批次,set接口为setMine
3. 提供增加用户余额接口,用户充值时调用该接口,增加用户针对特定币种的余额,余额数据直接保存到链上
4. 领取代币空投的方法为claim,可以支持领取WETH及任意ERC20币种。但是领取之前要对需要领取的币种有余额,即合约中tokenAmount[currency][msg.sender]要有余额值
5. 可以设置冻结账号,一旦账号被冻结,无法提现任何币种
6. 合约预留了相关的查询接口:
    a. 提现的WETH币种
    b. 提现的币种配置情况
    c. 用户持有的提现币种余额
    d. 用户所属的提现批次
7. 可以使用该合约的claim功能,让用户自主领取空投,用户自行承担交易gas费用。
8. 该合约可以作为代币充提的接口使用,由用户自行承担提现手续费,避免了dapp中的签名验签的复杂校验
二、合约部署及开源
1、设置编译器相关的参数
用户自行领取空投的合约功能模块使用说明、部署及开源
设置编译器版本:0818
启用优化,默认200级别优化
2、部署合约
用户自行领取空投的合约功能模块使用说明、部署及开源
a. 选择metamask钱包,显示当前连接的链ID,及部署合约的钱包地址和持有的BNB余额
b. 选择要部署的目标合约,此处选择BabMine
合约部署完成后,根据控制台的输出hash值,链上确认合约部署状态,同时查询合约地址,执行后续的开源操作
用户自行领取空投的合约功能模块使用说明、部署及开源
3、开源合约
选择单文件方式开源:single file
选择与编译时参数一致的配置,完成合约开源即可,开源后效果如下:
用户自行领取空投的合约功能模块使用说明、部署及开源
三、核心代码如下
1、合约所有权控制模块:
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).将合同所有权转移到新帐户(`newOwner`)。
     * Can only be called by the current owner.只能由当前所有者调用。
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

2、ETH安全转账模块

// helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false
library TransferHelper {
    function safeTransferETH(address to, uint value) internal {
        (bool success,) = to.call{value:value}(new bytes(0));
        require(success, 'TransferHelper: ETH_TRANSFER_FAILED');
    }
}

3、封装WETH功能模块

interface IWETH {

    function deposit() external payable;
    function transfer(address to, uint value) external returns (bool);
    function withdraw(uint) external;
    function balanceOf(address account) external view returns (uint256);
}

四、完整版本的合约代码如下

用户自行领取空投的合约功能模块使用说明、部署及开源

完整版本用户自行领取空投的合约源代码下载地址:

此处为隐藏的内容!
登录后才能查看!
至此,完成合约功能模块使用说明、部署及开源所有操作流程。

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

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

用户自行领取空投的合约功能模块使用说明、部署及开源用户自行领取空投的合约功能模块使用说明、部署及开源用户自行领取空投的合约功能模块使用说明、部署及开源用户自行领取空投的合约功能模块使用说明、部署及开源用户自行领取空投的合约功能模块使用说明、部署及开源

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

用户自行领取空投的合约功能模块使用说明、部署及开源用户自行领取空投的合约功能模块使用说明、部署及开源

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

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

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

用户自行领取空投的合约功能模块使用说明、部署及开源
免责声明

免责声明:

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

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

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

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

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

本文是全系列中第32 / 223篇:行业技术

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

发表评论

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