技术分享:NFT质押LP流动性挖 矿(代码原理分析)

流动性挖 矿是一种通过质 押加 密货 币,来获取更多加密货币的方法。它是去中心化金 融(DeFi)中的一种新趋势,能够让加 密 货 币投资 者充分发挥其加密资产的作用并获得较 高的收 益回报,并且任何人都可以参与这个生态系统。简单来说,这意味着锁定加 密货 币即可获得奖 励。

流动性挖 矿是如何运行的?

流动性挖 矿的运行与流动性提供者(LP)及流动资金池有着密切的关系:流动性提供者为流 动资 金池提供资金以获得流动性代币(LP token),流动资 金池为市场提供动力并产生手续 费用,再按照LP token份额占比支付奖励给流动性提供者,如此反复进行。

如何获得流动性挖矿收 益?

用户存入资产到池中就能获得奖励代币(流动性代币),池中只要有人交易就会产生费 用,并按照制定的奖励规则进行代币分配,这些都是流动性挖矿收益。 Periphery 逻辑

  核心逻辑实现在 UniswapV2Router02.sol 中。称为 Router,因为 Periphery 实现了“路由”,支持各个 swap 之间的连接。基本上实现了三个功能:1/add liquidity(增加流动性)2/remove liqudity(抽取流动性)3/swap(交换)。

1.add liqudity

  增加流动性,就是同时提供两种代币。因为代币有可能是 ETH,针对不同情况有不同的接口。逻辑类似。 add liqudity 查看之前有没有创建相应的交易对。如果有相应的交易对,确定目前的兑换比例在希望的范围内(期望 amountDesired 和不低于 amountMin)。如果兑换比例 OK,将相应的代币转入对应的交易对池子,并调用其的 mint 函数。

  2.remove liqudity

  提供流动性的相反的操作就是抽取流动性。也就是说,流动性提供者不再提供相应的流动性 liquidity 是抽取的流动性的量。amountMin 是抽取代币的最小的个数。to 是抽取代币的目标地址。deadline 是个有意思的设计:抽取的操作有时效性。超过了一定的 deadline(区块高度),这次抽取操作看成无效。

  先收回需要抽取的 Token,并且销毁:

  IUniswapV2Pair(pair).transferFrom(msg.sender,pair,liquidity);//send liquidity to pair

  (uint amount0,uint amount1)=IUniswapV2Pair(pair).burn(to);

  3.swap

  swap 是普通用户进行代币交易的操作。普通用户通过 swap 操作实现两种 token 之间的交易。 Uniswap 支持多种代币的交换。具体的含义是,Uniswap 提供了多级交易池的路由功能。举个例子,已有两个交易对 TokenA-TokenB,以及 TokenB-TokenC,通过 swap 接口,可以实现 TokenA-TokenC 的交换,其中经过的 TokenA-TokenB,TokenB-TokenC,称为路径(path)。amountIn 是路径中的第一个代币的数量,amountOutMin 是期望的交换后的最少的数量。

amounts=UniswapV2Library.getAmountsOut(factory,amountIn,path);

  require(amounts[amounts.length-1]>=amountOutMin,'UniswapV2Router:INSUFFICIENT_OUTPUT_AMOUNT');

  amounts 是每个路径上的交换后的数量。amounts[amounts.length-1]也就是最后一条路径的输出数量。注意,UniswapV2Library.getAmountsOut 的实现(在获取每个交易对的 reserve 信息后,调用 getAmountOut 函数)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352

推荐阅读更多精彩内容