一、说明
IDO项目需求设计及逻辑架构直接关系到项目运营的成败,好的IDO模式可以快速的实现token,nft的去中心分散,高效的完成通证的合理化分配,实现最大化收益。低效的IDO需求不带不利于项目的运营,过分复杂或者不合理的设计方式反而会限制通知的流动性,降低系统整体的流动性。以下是一个比较成功的IDO项目的设计模式,仅供学习参考:
- 入场资金和代币的价格配置成可以动态调整的,后期可以由项目方动态调整价格,现在是如果1wU,价格上涨0.02,后期可能调整成0.005
- 入场起步价格调整成0.1U
- 认购额度,父代要大于子代,子带只能认购小于父带的认购额度
- 每个账号只能认购一次,只有一个认购额度
- 佣金结算是按照本币结算,从项目方的总账地址出佣金,用户获得实际应该获取的认购数量
- 认购进度从20W U开始起始计算
二、完整版合约代码实现
- 根据当前代币的IDO实时价格计算认购的代币数量
function amountNum(uint256 a)
private returns(uint256)
{
uint256 newPrice = nowPrice(a);
if( newPrice - usdt_hpjh_price > 0 && usdt_hpjh_price < 1000)
{
uint256 cz = (total_v + a ) - change(a);
uint256 oldV = (jj / usdt_hpjh_price) * 1 ether;
if (newPrice > 1000){
newPrice = 1000;
}
usdt_hpjh_price = newPrice;
return oldV + czV ;
}else{
return ((a / 1e15) / usdt_hpjh_price ) * 1 ether;
}
}
2. 用户支付usdt认购通证代码实现
function deplay(uint256 amount)
external lock
{
require(users[_msgSender()].once == false,"subscribed_er");
require(amount == amountArr[0] || amount == amountArr[1]
|| amount == amountArr[2] || amount == amountArr[3],"amount_er");
address addr = users[_msgSender()].upline;
require(addr != address(0),"upline_er");
if(whiteLists[addr] == false)
{
require(users[users[_msgSender()].upline].amount >= amount,"amount_upline_max_er");
}
uint256 u_h =amountNum(amount);
users[_msgSender()].create_time = block.timestamp;
if(ist[_msgSender()] == false) {
numberOfHolders +=1;
}
totalHpjhV += u_h;
total_v += amount;
USDT.transferFrom(_msgSender(),su,amount);
emit Deplay(_msgSender(),amount,u_h);
}
3. 代币认购完成后的提币功能代码实现:
function wd(uint256 a)
external lock
{
require(block.timestamp > wdStartTime,"time_er");
require(blacklists[_msgSender()] == false ,"blacklists_err");
require(HPGToken != address(0),"token_err");
require(users[_msgSender()].amount > 0,"deply_err");
if(hpjh_output >= a )
{
users[_msgSender()].hpjh_output += a;
}else{
if(hpjh_output >= a )
{
users[_msgSender()].upline_one_reward = hpjh_output - a;
}else{
hpjh_output = 0;
}
}
require(hpjh_output > 0 ,"wd_err");
users[_msgSender()].total_output += a;
IERC20(HPGToken).transfer(_msgSender(),a);
emit WD(_msgSender(),a);
}
通过控制提币允许的开放时间来控制代币的释放量,避免出现巨鲸砸盘情况,导致代币价格出现较大幅度的行情波动。
至此,完成IDO项目需求设计架构及合约代码完整版本实现所有操作流程。
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
币安智能链BSC发币(合约部署、开源、锁仓、LP、参数配置、开发、故障处理、工具使用)教程下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
此内容仅供注册用户可见,请登录!
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册