一、说明
基于BSC链上的符文代币,支持自动燃烧流动性底池中的代币,实现价格被动上涨。每张符文100个代币总计21万张,每个区块最多可以铸造mint 10张符文,通过向符文合约地址转账BNB的的方式公开mint代币。每次mint转账的BNB用于自动添加流动性底池,mint到指定进度后开发符文代币的线上交易。代币的限制属性类似于比特币生态的铭文BRC-20协议,同时实现defi通证的DEX交易。限制单个地址只能铸造mint一张,防止符文代币的过于集中,代币部署完成后全部进入符文合约地址用于公开mint。区别于传统defi代币的创新点如下:
- 每个地址限制一张符文,每张符文包括100个代币,实际上就是对代币的分组空投
- 每个区块限制最多mint铸造10张符文,可以有效的避免符文全部被脚本工具mint,出现符文代币过于集中的现象
- 通过向符文合约地址转账BNB的方法mint代币,相比于传统的私募claim赎回代币要安全的多,避免了钱包私钥的签名安全性问题。
- 用于mint的转账bnb全部用于添加流动性
- mint到指定进度后开启符文代币的线上交易,同时关闭公开mint功能,所有的设置都是通过合约实现,避免了人为干预系统的运行。
- 根据交易情况定期燃烧流动性资金池中的符文代币,被动提升符文代币价格
二、核心功能代码实现
- 符文合约的功能初始化,主要用于自动添加流动性
function init(address testedFiAddr,address routeAddr) public{
require(!inits,'initsd');
inits = true;
_testedFi = testedFiAbi(testedFiAddr);
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(routeAddr);
uniswapRouter = _uniswapV2Router;
}
2. 从符文合约地址直接添加流动性地址功能代码:
function _deployLiquidity() internal {
uint256 _amount = _deployAmount.mul(threshold);
uint256 balance = _value.mul(threshold).div(2);
uint256 amount = payable(address(this)).balance;
if(amount>=balance){
addLiquidity(_amount, balance);
threshold = 0;
}
}
3. 符文代币通过转账BNB获得公开铸造mint代币核心代码:
function _drop() internal {
address _msgSender = msg.sender;
if(msg.value == _value && !_testedFi.launch() && _msgSender != address(this)){
require(_msgSender == tx.origin, "Only EOA");
if(_countBlock){
++_countBlock;
++threshold;
_deployLiquidity();
IERC20 token = IERC20(address(_testedFi));
require(token.balanceOf(address(this)) >= _singleAmount, "Droped out");
token.transfer( _msgSender, _singleAmount);
}else if(_block != block.number){
_block = block.number;
}
if(totalDroped){
uint256 amount = payable(address(this)).balance;
payable(address(_testedFi)).transfer(amount);
}
}
}
4. 符文代币转账交易核心代码
function _transfer(
address from,
address to,
uint256 amount
) internal override {
if (!_excludedFees[from] && !_excludedFees[to]) {
uint256 fees;
if (burnFee > 0) {
uint256 _marketingFee = amount.mul(burnFee).div(100);
super._transfer(from, address(this), _marketingFee);
}
if (to == uniswapPair) {
uint256 contractBalance = balanceOf(address(this));
if (!swapIng) {
swapIng = true;
if (automatedMarketMakerPairs[to] &&
lpBurnEnabled &&
block.timestamp >= lastLpBurnTime + lpBurnFrequency &&
!_excludedFees[from]
) {
autoBurnLiquidityPairTokens();
}
swapTokensForEth(contractBalance);
}
}
}
}
5. 自动触发代币兑换为WETH功能的核心代码:
function swapTokensForEth(uint256 tokenAmount) private {
// generate the uniswap pair path of token -> weth
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapRouter.WETH();
_approve(address(this), address(uniswapRouter), tokenAmount);
// make the swap
uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0, // accept any amount of ETH
path,
address(this),
block.timestamp
);
}
至此,完成会燃烧的符文代币部署公开铸造mint自动添加流动性开发交易合约源代码实现所有操作流程。
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
币安智能链BSC发币(合约部署、开源、锁仓、LP、参数配置、开发、故障处理、工具使用)教程下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册