
深入理解 Uniswap v2 白皮书
前言本文作为《深入理解Uniswap》系列的第一篇,将从Uniswap v2白皮书入手,讲解Uniswap v2协议的设计思路和数学公式推导过程。 网络上讲解Uniswap的文章已经很多了,为什么要再写一遍呢? 最初原因是为了记录我个人在学习Uniswap过程中的总结,这些总结不是简单的翻译,更多是对于白皮书知识点的延伸阅读、数学公式的推导以及合约代码的工程实现的学习思考,而这些在原版白皮书大多没有展开。 虽然目前Uniswap v3已经推出一段时间了,但是学习v2仍然是理解V3的基础;并且由于v3的License限制,其他EVM链AMM项目大多fork v2代码,因此深入学习Uniswap v2仍然很有必要。 此外,Uniswap作为DeFi的基础协议,无论是行业地位,还是理论基础及其工程实现,都是DeFi的经典范例,对于想要深入学习DeFi或者智能合约编程的同学,Uniswap v2是非常好的入门材料。 希望本文能够帮助你在理解Uniswap v2的过程中提供一点帮助。由于本人水平有限,文中难免出现错误,欢迎斧正。 下文将按照Uniswap v2 白皮书章节结构进行翻译,同时...

深入理解 Uniswap v2 合约代码
上文介绍了《深入理解 Uniswap v2 白皮书》,今天我们来讲解Uniswap v2合约代码。本文不会逐行介绍合约代码,而是关注合约架构和重点方法,如果需要详细的代码说明,推荐阅读以太坊官方的Uniswap v2代码走读。合约架构Uniswap v2的合约主要分为两类:core合约和periphery合约。其中,core合约仅包含最基础的交易功能,核心代码仅200行左右,由于用户资金都存储在core合约里,因此需要保证core合约最简化,避免引入bug;periphery合约则针对用户使用场景提供多种封装方法,比如支持原生ETH交易(自动转为WETH),多路径交换(一个方法同时执行A→B→C交易)等,其底层调用的是core合约。我们在app.uniswap.org界面操作时用的就是periphery合约。uniswap v2 合约架构我们先介绍几个主要合约的功能:uniswap-v2-coreUniswapV2Factory:工厂合约,用于创建Pair合约(以及设置协议手续费接收地址)UniswapV2Pair:Pair(交易对)合约,定义和交易有关的几个最基础方法,如swa...

深入理解 Uniswap v3 白皮书
Github版本: https://github.com/adshao/publications/blob/master/uniswap/dive-into-uniswap-v3-whitepaper/README.md概述Uniswap v3是一个基于以太坊虚拟机(EVM)实现的无监管自动做市商(AMM)。与之前的版本相比,Uniswap v3提高了资金利用率,赋予流动性提供者更多控制能力,改进了价格预言机的准确性和便利性,同时增加了更灵活的手续费结构。1 Introduction 介绍自动做市商(AMMs)是集中流动性,并基于算法将其开放给交易者的代理商。常值函数做市商(CFMMs)(Uniswap也是成员之一)作为AMM中的一个常见类别,已被广泛应用于去中心化金融场景,他们一般都在无需许可的区块链上以交易代币的智能合约的形式实现。 当前市场上的常值函数做市商大多存在资金利用率不高的问题。在Uniswap v1/v2使用的恒定乘积做市商公式中,对于给定价格,池子中仅部分资金参与做市。这显得十分低效,特别是当代币总是在特定价格附近交易时。注:以稳定币为例,USDC/USDT的波...
Coder

深入理解 Uniswap v2 白皮书
前言本文作为《深入理解Uniswap》系列的第一篇,将从Uniswap v2白皮书入手,讲解Uniswap v2协议的设计思路和数学公式推导过程。 网络上讲解Uniswap的文章已经很多了,为什么要再写一遍呢? 最初原因是为了记录我个人在学习Uniswap过程中的总结,这些总结不是简单的翻译,更多是对于白皮书知识点的延伸阅读、数学公式的推导以及合约代码的工程实现的学习思考,而这些在原版白皮书大多没有展开。 虽然目前Uniswap v3已经推出一段时间了,但是学习v2仍然是理解V3的基础;并且由于v3的License限制,其他EVM链AMM项目大多fork v2代码,因此深入学习Uniswap v2仍然很有必要。 此外,Uniswap作为DeFi的基础协议,无论是行业地位,还是理论基础及其工程实现,都是DeFi的经典范例,对于想要深入学习DeFi或者智能合约编程的同学,Uniswap v2是非常好的入门材料。 希望本文能够帮助你在理解Uniswap v2的过程中提供一点帮助。由于本人水平有限,文中难免出现错误,欢迎斧正。 下文将按照Uniswap v2 白皮书章节结构进行翻译,同时...

深入理解 Uniswap v2 合约代码
上文介绍了《深入理解 Uniswap v2 白皮书》,今天我们来讲解Uniswap v2合约代码。本文不会逐行介绍合约代码,而是关注合约架构和重点方法,如果需要详细的代码说明,推荐阅读以太坊官方的Uniswap v2代码走读。合约架构Uniswap v2的合约主要分为两类:core合约和periphery合约。其中,core合约仅包含最基础的交易功能,核心代码仅200行左右,由于用户资金都存储在core合约里,因此需要保证core合约最简化,避免引入bug;periphery合约则针对用户使用场景提供多种封装方法,比如支持原生ETH交易(自动转为WETH),多路径交换(一个方法同时执行A→B→C交易)等,其底层调用的是core合约。我们在app.uniswap.org界面操作时用的就是periphery合约。uniswap v2 合约架构我们先介绍几个主要合约的功能:uniswap-v2-coreUniswapV2Factory:工厂合约,用于创建Pair合约(以及设置协议手续费接收地址)UniswapV2Pair:Pair(交易对)合约,定义和交易有关的几个最基础方法,如swa...

深入理解 Uniswap v3 白皮书
Github版本: https://github.com/adshao/publications/blob/master/uniswap/dive-into-uniswap-v3-whitepaper/README.md概述Uniswap v3是一个基于以太坊虚拟机(EVM)实现的无监管自动做市商(AMM)。与之前的版本相比,Uniswap v3提高了资金利用率,赋予流动性提供者更多控制能力,改进了价格预言机的准确性和便利性,同时增加了更灵活的手续费结构。1 Introduction 介绍自动做市商(AMMs)是集中流动性,并基于算法将其开放给交易者的代理商。常值函数做市商(CFMMs)(Uniswap也是成员之一)作为AMM中的一个常见类别,已被广泛应用于去中心化金融场景,他们一般都在无需许可的区块链上以交易代币的智能合约的形式实现。 当前市场上的常值函数做市商大多存在资金利用率不高的问题。在Uniswap v1/v2使用的恒定乘积做市商公式中,对于给定价格,池子中仅部分资金参与做市。这显得十分低效,特别是当代币总是在特定价格附近交易时。注:以稳定币为例,USDC/USDT的波...
Coder
Share Dialog
Share Dialog

Subscribe to AdamShao

Subscribe to AdamShao
<100 subscribers
<100 subscribers
No activity yet