- A+
所属分类:火币HECO
针对需要控制代币交易的合约代码,通过合约中配置的交易开关,可以达到控制交易的目的。在合约代码中配置相关的变量,通过连上修改变量值来达到控制交易的目的。该目的主要针对的用户需求是,当代币上线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发币教程下载:
pdf+视频币安智能链BSC发币教程下载地址:
- 我的微信
- 这是我的微信扫一扫
- 我的电报
- 这是我的电报扫一扫