针对需要控制代币交易的合约代码,通过合约中配置的交易开关,可以达到控制交易的目的。在合约代码中配置相关的变量,通过连上修改变量值来达到控制交易的目的。该目的主要针对的用户需求是,当代币上线dex后需要用户主动加池,在流动性体量还未达到预期目标之前,只允许用户买入,不允许卖出。只有当用户加池的流动性达到了预期后才能开始交易,开始交易后,用户可以正常的买卖,不受限制。
合约中的交易开关控制功能,主要是控制代币的交易流量,交易时机,可以更方便的控制token的流通。
通过合约中的变量达到控制交易开关的合约代码核心部分如下:
contract Token { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; string private _name = ''; string private _symbol = ''; uint8 private _decimals = 6; uint256 private _totalSupply = 10000000000 * 10**uint256(_decimals); mapping(address => bool) private _isExcludedFromLiquidity; address public _exchangePool; uint256 public _liquidityFlag = 1;
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"); _transferStandard(sender, recipient, amount); }
通过触发链上的变量配置,来达到控制交易开关的目的。
对买入不做控制,只控制卖出,来达到流动性体量达到目的预期时,才能开始正常的交易。
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
此内容仅供注册用户可见,请登录!
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册