uniswap V2 源码详解
January 21st, 2022

uniswap 代码由两个部分组成:v2-core & v2-periphery

Uniswap协议的思想是reserve0*reserve1的乘积不变。

无常损失发生在币价波动,两种币价背离越多,损失越大。

造成无常损失的原因是因为,流动池无法做到价格同步,价格同步是通过市场投机者套利实现的。举例:当A、B池有交易对a、b时,A池的a价格低于B池的a价格,投资者会买入B池中的a卖到B池套利,B池中的流动性提供者就蒙受了损失。

1、v2-core

也就是所谓的核心代码,主要是创建交易对的逻辑,和交易对参数的设置。单个swap的逻辑。单个swap,两种代币形成的交易对,俗称“池子”。

core有三个合约:

1.1 UniswapV2ERC20.sol

LP代币合约,本质上就是一个ERC20,实现了ERC20的全部功能之外和一般的ERC20不同的地方在于有一个permit方法,可以允许离线生成签名,签名给第三方进行交易,并且交易产生的gas由第三方支付。

1.2 UniswapV2Factory.sol

创建交易对

1.3 UniswapV2Pair.sol

添加流动性和移除流动性的基础方法mint和burn

2、v2-periphery

periphery偏外围服务,在交易对的基础上构建服务。

Subscribe to satoshi
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from satoshi

Skeleton

Skeleton

Skeleton