image.png

简介

uniswap共有四份合约,分别为核心合约与外围合约

  • 核心合约用于存储资金(代币)并公开用于交换代币、添加资金、获得奖励等功能
  • 外围合约用于与核心合约得交互

Uniswap合约特点

Uniswap非常追求效率和节省gas, Uniswap开发团队从Solidity中挤出每一个优化点,如转账,接口,变量位置

Uniswap合约

Pair

一种智能合约,实现了交换、铸造、销毁代币的功能。该合约是为每个交易对创建的,例如Dogecoin ↔ Shiba

Factory

创建并跟踪所有 Pair 合约

ERC20

用于跟踪矿池的所有权。将池视为财产。当流动性提供者向矿池提供资金时,他们将获得“矿池所有权代币”作为回报。这些所有权代币获得奖励(交易者为每笔交易支付一小部分)。当流动性提供者想要回他们的资金时,他们只需提交所有权代币并获得他们的资金+积累的奖励。ERC20合约跟踪所有权代币

Router

Router用于与核心交互,提供swapExactETHForTokens,swapETHForExactTokens等功能。

Uniswap功能

uniswap合约的四份合约主要实现以下功能

核心功能

  • 管理资金
  • 流动性提供者的功能
    • 存入更多资金并提取资金以及奖励
  • 交易者的功能
    • 代币交换
  • 管理池所有权的令牌
  • 协议费用
    • Uniswap v2 引入了可切换的协议费用。这笔协议费用将支付给 Uniswap 团队维护 Uniswap 的努力。目前,此协议费用已关闭,但将来可以打开。启用后,交易者仍将支付相同的交易费用,但现在这笔费用的 1/6 将归 Uniswap 团队所有,其余 5/6 将作为提供资金的奖励归流动性提供者所有。

外围功能

  • 价格预言机(Oracle)
    • Uniswap跟踪代币之间的相对价格,由于套利,Uniswap价格往往紧跟代币的实际市场价格。因此,Uniswap价格预言机非常接近真实市场的价格