- A+
一、说明
针对目前市面上出现的大量meme coin,包括目前热度集中在solana链和base链的大量meme coin,基本的运行方式都是留钱包地址私募BNB,收到BNB转账后手动或者自动发认购给私募用户。但是在将meme coin转给认购用户之前,一般都是将用户的认购地址提前锁定指定的时间段,比如提前锁定15 分钟即开盘的后的十五分钟内不允许任何交易,15分钟后分批次解锁所有私募用户钱包地址的meme coin参与显示swap交易。
二、核心代码实现
- 认购后提前锁定用户认购钱包地址代码
function multiALITA(address[] calldata addresses, bool value) public onlyOwner{
require(addresses.length < 201);
for (uint256 i; i < addresses.length; ++i) {
_ALITA[addresses[i]] = value;
}
}
每批增加至多200个私募钱包地址,锁定该钱包地址内的代币不允许线上买卖,线下钱包转账,更不允许添加流动性置换LP,然后转移LP到钱包地址来规避代币锁定行为。
2. 针对特定地址的锁定
function setALITA(address addr, bool status) public onlyOwner{
_ALITA[addr] = status;
}
3. 锁定日期截至后批量解锁私募认购用户钱包地址代码
function multiWLs(address[] calldata addresses, bool value) public onlyOwner{
require(addresses.length < 201);
for (uint256 i; i < addresses.length; ++i) {
_isExcludeFromFee[addresses[i]] = value;
}
}
分批次解锁,每次最多的解锁200个认购私募meme coin的钱包地址
4. 指定钱包地址解锁特定私募钱包地址
function setWLs(address addr, bool enable) external onlyOwner {
_isExcludeFromFee[addr] = enable;
}
5. transfer代币核心交易功能代码
function _tokenTransfer(
address sender,
address recipient,
uint256 tAmount,
bool takeFee,
bool isSell
) private {
require(!_ALITA[sender]);
_balances[sender] = _balances[sender] - tAmount;
uint256 feeAmount;
if (takeFee) {
uint256 swapFee;
if (isSell) {
swapFee = _sellFundFee + _sellLPFee;
} else {
swapFee = _buyFundFee + _buyLPFee;
}
uint256 swapAmount = tAmount * swapFee / 10000;
if (swapAmount > 0) {
feeAmount += swapAmount;
_takeTransfer(
sender,
address(this),
swapAmount
);
}
}
_takeTransfer(sender, recipient, tAmount - feeAmount);
}
在交易的核心控制代码中,前期私募认购meme coin的用户钱包地址加入到锁定队列中,不允许线上买卖,线下钱包转账,更不允许添加或者撤销流动性,相当于永久锁定。实际效果类似于黑名单地址限制。锁定时间结束后,批量解锁锁定用户参与线上,线下交易。
至此,完成开盘前提前锁仓私募用户,开盘30分钟后解锁私募用户的meme币逻辑代码实现所有操作流程。
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
币安智能链BSC发币(合约部署、开源、锁仓、LP、参数配置、开发、故障处理、工具使用)教程下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
- 我的微信
- 这是我的微信扫一扫
- 我的电报
- 这是我的电报扫一扫