MEME币|模式币智能合约|通缩机制合约|燃烧分红合约

特征
1、分红
SafeMoon 的第一个特点,是会惩罚尝试进行交易的人,并奖励给其他持有人。合约重写了 transfer 函数,使其在进行交易时会扣除一定手续费,用于惩罚交易发起人,源代码截图如下:

这里我们先讲_tokenTransfer 函数,该函数是转账的核心逻辑,里面包含了转账双方的多种情况,其代码如下:

代码中将转账细分成了四种情况,主要判断逻辑就是转入转出地址是否为排除地址,这里的排除地址是 safeMoon 的一个特点:排除地址的智能合约余额不会计入智能合约费率转换的计算表达式中,比如合约的地址就是排除地址(根据实际情况可做更改)。现举例情况三(转账人和接收人都不是排除地址)进行说明,函数源代码如下:


代码分析:第一行首先会调用 getValues 函数将转账智能合约数额 ( tAmount ) 转换为奖励数额 ( rAmount ) 以及 5% 的手续费数量和 5% 的流动性变量对应的数额。

其次调用 takeLiquidity 函数将转账产生的流动性手续费转入合约地址中,这些手续费积累到一定数量即可去 uniswap 中添加流动性,takeLiquidity 函数源代码如下所示。

调用 reflectFee 函数销毁其中的智能合约数量 tFee 加入 tFeeTotal 变量中,tFeeTotal 变量用于记录已经销毁的所有智能合约数量,reflectFee 函数源代码如下所示。


2、自发添加流动性
SafeMoon 的第二个特点,就是会去 uniswap 中添加流动性以保证自身的活跃性。根据第一个特点,每次转账将会收取转账的 5% 的流动性手续费转入合约地址中,当手续费累加起来超过一定数额(由变量 numTokensSellToAddToLiquidity 定义,其值为 50w*10^6),将会调用 uniswap 对应的 router 接口进行添加流动性,具体代码如下:

该函数将 5% 的流动性手续费平分,将其中一半(也就是 2.5% )的 safeMoon 智能合约转换为 WETH ,然后用换得的 WETH 与剩下的另外一半 safeMoon (2.5%)去 uniswap 中添加流动性获得 lp 智能合约。SafeMoon 的第三个特点,就是持有者的余额会越来越多。合约查询余额的 balanceof 代码如下:

当用户调用该函数查询余额时,大部分情况由于非排除地址,将调用 tokenFromReflection 函数查询用户的余额,而这个函数将会根据合约数量比率来计算用户的余额,具体公式转换如下:

tOwned[account] = rOwned[account] / GetRate =>

tOwned[account] = rOwned[account] / rSupply * tSupply

又因为随着用户交易的发送,导致 rSupply 因为手续费在不断减少,所以对应表达式的分母会不断变小,用户的余额相应增多。换一句话说,随着交易的增加,用户的余额会越来越多。

总结一下 safemoon 项目的三个特点:

交易会惩罚发送人的发送量 10%
项目会结合 uniswap 进行流动性挖矿以保证自身活跃性
持有人随着交易增加余额也会不断增加
 

如有问题请联系QQ:253319066

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值