当前位置:伍佰目录 » 站长资讯 » 免费资源 » 技术文章 » 文章详细

知道创宇区块链安全实验室 | SafeMoon:月涨幅 6000% 项目背后的原理 金色财经

来源:本站原创 浏览:204次 时间:2021-05-11

坦克堂,ipad下载电影,好自然自动售水机

APP Android & iPhone 金色专栏 专栏申请
知道创宇区块链安全实验室 | SafeMoon:月涨幅 6000% 项目背后的原理 独家 深度 知道创宇区块链安全实验室 刚刚

SafeMoon 是一个社区项目,凭借独特的奖惩机制引起了社区的轰动,其增长速度可与当下风靡一时的狗狗币旗鼓相当。知道创宇区块链安全实验室?就 SafeMoon 代码原理分析其受人追捧的原因。

SafeMoon 协议是一种去中心化金融( DeFi )代币。根据 SafeMoon 网站的说法,SafeMoon 在每次交易中都具有三种功能:反射、LP 采集和刻录。它是基于公平推出的 DeFi 代币,并且是 RFI 静态奖励和流动性生成协议的组合。这个组合会让持币者在他人的交易后余额增加,原因是该机制会利用静态反射从而增加持币者的被动收益。

SafeMoon 源代码地址如下:

https://github.com/safemoonprotocol/Safemoon.sol/blob/main/Safemoon.sol

SafeMoon 本质上也是一种基于 ERC20 协议实现的代币,其代币发行总量为 1,000,000,000,000,000 枚,代币可以通过销毁来增加价值,且其增加了一些奖惩措施及流动性挖矿机制,在短时间内快速走红,以下就其三个特点进行分析。

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

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

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

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

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

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

SafeMoon 的第二个特点,就是会去 uniswap 中添加流动性以保证自身代币的活跃性。

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

本文地址:http://www.reviewcode.cn/youxikaifa/208769.html 转载请注明出处!


伍佰目录声明:本站部分文章来源于网络,版权属于原作者所有。如有转载或引用文章/图片涉及版权问题,请联系我们处理.我们将在第一时间删除! 联系邮箱:tsk@qq.com

快速链接

最新收录

最新点入