合约开发
Uniswap v2 学习
UniswapV2 的源码对于理解 DeFi 协议的设计和实现具有重要意义。本文将从架构、分层、模块划分、设计模式、关键特性实现、Gas 优化和安全考量等方面对 UniswapV2 合约进行详细解读。 合约架构 Uniswap v2的合约主要分为两类:core合约和periphery合约。 core合约仅包含最基础的交易功能,由于用户资金都存储在core合约里,因此需要保证core合约最简化,避免引入bug。主要包括: * UniswapV2Factory:工厂合约,用于创建Pair合约 * UniswapV2Pair:Pair(交易对)合约,定义和交易相关的基础方法,如swap/mint/burn等 * UniswapV2ERC20:实现ERC20标准方法 periphery合约则针对用户使用场景提供更友好的接口,比如支持原生ETH交易、多路径交换等,其底层调用的是core合约。主要包括: * UniswapV2Router02:最常用的接口合约,如添加/移除流动性,使用代币交换等 * 各种Library合约:提供计算最佳交易数量等功能 下图展示了Unisw