defi流动性质押挖矿系统丨defi流动性质押挖矿系统开发(dapp开发)丨defi流动性质押挖矿源码版

简介:  Liquidity mining,in short,is a token incentive plan designed to attract liquidity providers(LPs)to provide liquidity for specific transaction pairs/pools on AMM.

  

  Liquidity mining,in short,is a token incentive plan designed to attract liquidity providers(LPs)to provide liquidity for specific transaction pairs/pools on AMM.

  Synthetix is the first to distribute bonus tokens to LPs in its sETH Uniswap pool.To be more specific,in order to obtain rewards,LP needs to first provide liquidity for the sETH pool on Uniswap,and then pledge its Uniswap liquidity token into the pledge reward contract created in 2019.The reward tokens will be distributed to the LP fairly according to the percentage of the liquidity tokens pledged by the LP relative to the total pledge tokens of the LP.

  CREATE2:

  创建交易对,就是创建一个新的合约,作为流动池来提供交易功能。创建合约的步骤是:

  pool=address(new UniswapV3Pool{salt:keccak256(abi.encode(token0,token1,fee))}());

  这里先通过keccak256(abi.encode(token0,token1,fee)将token0,token1,fee作为输入,得到一个哈希值,并将其作为salt来创建合约。因为指定了salt,solidity会使用EVM的CREATE2指令来创建合约。使用CREATE2指令的好处是,只要合约的bytecode及salt不变,那么创建出来的地址也将不变。

  使用CREATE2的好处是:

  可以在链下计算出已经创建的交易池的地址

  其他合约不必通过UniswapV3Factory中的接口来查询交易池的地址,可以节省gas

  合约地址不会因为reorg而改变

  不需要通过UniswapV3Factory的接口来计算交易池合约地址的方法,可以看这段代码。

  新交易对合约的构造函数中会反向查询UniswapV3Factory中的parameters值来进行初始变量的赋值:

  constructor(){

  int24 _tickSpacing;

  (factory,token0,token1,fee,_tickSpacing)=IUniswapV3PoolDeployer(msg.sender).parameters();

  tickSpacing=_tickSpacing;

  maxLiquidityPerTick=Tick.tickSpacingToMaxLiquidityPerTick(_tickSpacing);

  }

  为什么不直接使用参数传递来对新合约的状态变量赋值呢。这是因为CREATE2会将合约的initcode和salt一起用来计算创建出的合约地址。而initcode是包含contructor code和其参数的,如果合约的constructor函数包含了参数,那么其initcode将因为其传入参数不同而不同。在off-chain计算合约地址时,也需要通过这些参数来查询对应的initcode。为了让合约地址的计算更简单,这里的constructor不包含参数(这样合约的initcode将时唯一的),而是使用动态call的方式来获取其创建参数。

  最后,对创建的交易对合约进行初始化:

  function initialize(uint160 sqrtPriceX96)external override{

  require(slot0.sqrtPriceX96==0,'AI');

  int24 tick=TickMath.getTickAtSqrtRatio(sqrtPriceX96);

  (uint16 cardinality,uint16 cardinalityNext)=observations.initialize(_blockTimestamp());

  slot0=Slot0({

  sqrtPriceX96:sqrtPriceX96,

  tick:tick,

  observationIndex:0,

  observationCardinality:cardinality,

  observationCardinalityNext:cardinalityNext,

  feeProtocol:0,

  unlocked:true

  });

  emit Initialize(sqrtPriceX96,tick);

  }

  初始化主要是设置了交易池的初始价格(注意,此时池子中还没有流动性),以及费率,tick等相关变量的初始化。完成之后一个交易池就创建好了。

  From the perspective of token economics incentive design,the liquidity mining method pioneered by Synthetix is to allocate reward tokens according to the size of the liquidity position.We can define this method as liquidity mining 1.0(LM1).As a result,such incentive plan has helped Synthetix achieve the goal of attracting more users and casting more sETH.

  LM1 has become the de facto design and implementation scheme of mobile mining.It enables many projects to be solved to some extent

相关文章
|
算法 区块链
Defi+NFT质押流动性挖矿系统开发/LP质押挖矿功能开发解析
Defi+NFT质押流动性挖矿系统开发/LP质押挖矿功能开发解析
|
区块链
Defi代币质押持币生息系统技术开发/源代码/质押挖矿dapp
Defi代币质押持币生息系统技术开发/源代码/质押挖矿dapp
|
JavaScript 前端开发 区块链
DAPP代币合约流动性质押分红挖矿系统开发丨技术分析
DAPP代币合约流动性质押分红挖矿系统开发丨技术分析
|
存储 前端开发 JavaScript
浅谈DAPP智能合约流动性质押挖矿分红系统开发技术分析及代码部署
“Web3.0”是一个用户共建、隐私保护、平台开放的生态体系。相比“Web2.0”,“Web3.0”的目标是实现一个更加开放、零信任或是低信任、无许可的价值互联网时代。其生态体系主要由“Web3.0钱包”、“稳定币”、“公链”、“NFT”、“GameFi”、“去中心化存储”、“Dapp”、“DAO”、“DeFi”构成。
浅谈DAPP智能合约流动性质押挖矿分红系统开发技术分析及代码部署
|
机器学习/深度学习 人工智能 安全
PtahDao/ProTradex/Meta2032流动性质押挖矿分红系统开发(NFT质押挖矿开发)丨成熟及源码
 区块链技术由此可以从多方面为企业赋能:提供可靠的共享数据,在各方之间建立信任;消除数据孤岛,即通过去中心化的,在一个网络中共享并支持获许可方访问的账本将数据集成到一个系统中;为数据赋予高度安全性
|
存储 缓存 算法
流动性质押挖矿分红开发源码版,流动性质押挖矿分红系统开发技术详细及分析
共识模块主要由几个组件组成,世代epoch、提案消息缓存服务msgcache、共识消息处理引擎engine、共识消息验证器verifier、提案消息存储服务forest、投票处理器voter、共识活性服务pacemaker、wal存储wal、节点间共识信息同步服务compensator、各模块相互配合实现maxbft流水线共识算法
dapp/defi/nft/lp借贷理财流动性质押挖矿开发功能版,dapp/defi/nft/lp借贷理财流动性质押挖矿系统开发(开发方案)
From the perspective of conceptual model,the metauniverse is the superposition of technology system,content system,economic system,cooperation system and governance system.The core of the technical system is integration,and its technical system should be characterized by open
流动性质押挖矿矿池系统开发(开发案例)丨流动性质押挖矿矿池系统开发(详细及源码)
? (amountSpecified - state.amountSpecifiedRemaining, state.amountCalculated) (state.amountCalculated, amountSpecified - state.amountSpecifiedRemaining);
NFT流动性质押挖矿开发功能丨NFT流动性质押挖矿系统开发(开发详细)丨NFT流动性质押挖矿系统源码部署
  Liquidity mining is an incentive mechanism to promote the use of DeFi and a new decentralized token distribution mechanism.Most DeFi applications require users to lock tokens into the contract.The larger the amount of lock-in the contract has,the better financial services can be obtained.Liquidity