0%

defi | uniswap v2 整体架构

这里讲一下 uniswap 的整体架构。

在讲整体架构之前,我先列一下参考资料。


参考资料



整体架构


先看一下 uniswap 原始库中的代码库。

整个 UniswapV2 产品拆分出了多个小型的开源项目,主要包括:

  • uniswap-interface
  • uniswap-v2-sdk
  • uniswap-sdk-core
  • uniswap-info
  • uniswap-v2-subgraph
  • uniswap-v2-core
  • uniswap-v2-periphery
  • uniswap-lib

前三个是前端 App 项目,即提供交易的项目,对应于 https://app.uniswap.org 网页功能,展示页面都写在 uniswap-interface 项目中。uniswap-v2-sdkuniswap-sdk-core 则是作为 SDK 而存在,uniswap-interface 会引用到 v2-sdksdk-core,通过 @uniswap/v2-sdk@uniswap/sdk-core 的方式引入到需要使用的 TS 文件中。

不过,uniswap-interface 最新代码其实是跟线上同步的,即是集成了 V3 版本的。如果只想部署 V2 版本的前端,那可以找出历史版本的项目代码进行部署,如果是不带流动性挖矿功能,推荐 20209 月份的版本,如果是带挖矿功能,那可以试试 202010 月份的版本。

uniswap-info 则是 Uniswap Analytics 项目,对应于官网页面 https://info.uniswap.org ,展示了一些统计分析数据,其数据主要是从 Subgraph 读取。uniswap-v2-subgraph 则是 Subgraph 项目了。

最后三个则是合约项目了,uniswap-v2-core 就是核心合约的实现; uniswap-v2-periphery 则提供了和 UniswapV2 进行交互的外围合约,主要就是路由合约;uniswap-lib 则封装了一些工具合约。coreperiphery 里的合约实现是我们后面要重点讲解的内容。

请我喝杯咖啡吧~