简介
uniswap共有四份合约,分别为核心合约与外围合约
- 核心合约用于存储资金(代币)并公开用于交换代币、添加资金、获得奖励等功能
- 外围合约用于与核心合约得交互
Uniswap合约特点
Uniswap非常追求效率和节省gas, Uniswap开发团队从Solidity中挤出每一个优化点,如转账,接口,变量位置
Uniswap合约
Pair
一种智能合约,实现了交换、铸造、销毁代币的功能。该合约是为每个交易对创建的,例如Dogecoin ↔ Shiba
Factory
创建并跟踪所有 Pair 合约
ERC20
用于跟踪矿池的所有权。将池视为财产。当流动性提供者向矿池提供资金时,他们将获得“矿池所有权代币”作为回报。这些所有权代币获得奖励(交易者为每笔交易支付一小部分)。当流动性提供者想要回他们的资金时,他们只需提交所有权代币并获得他们的资金+积累的奖励。ERC20合约跟踪所有权代币
Router
Router用于与核心交互,提供swapExactETHForTokens,swapETHForExactTokens等功能。
Uniswap功能
核心功能
- 管理资金
- 流动性提供者的功能
- 存入更多资金并提取资金以及奖励
- 交易者的功能
- 代币交换
- 管理池所有权的令牌
- 协议费用
- Uniswap v2 引入了可切换的协议费用。这笔协议费用将支付给 Uniswap 团队维护 Uniswap 的努力。目前,此协议费用已关闭,但将来可以打开。启用后,交易者仍将支付相同的交易费用,但现在这笔费用的 1/6 将归 Uniswap 团队所有,其余 5/6 将作为提供资金的奖励归流动性提供者所有。
外围功能
- 价格预言机(Oracle)
- Uniswap跟踪代币之间的相对价格,由于套利,Uniswap价格往往紧跟代币的实际市场价格。因此,Uniswap价格预言机非常接近真实市场的价格