《Uniswap V2 Book》是一本深入解析Uniswap V2代码的书籍,不仅逐行解释代码,还探讨了设计背后的原因、替代方案及决策动机。书中还引入了实践问题,并指导读者如何实现Uniswap V2的克隆版本。
Uniswap V2 之书是对代码库的全面且深入的解释。我们不仅仅是截取代码并逐行解析。希望你已经有能力阅读代码!我们会解释为什么一开始要这样编写,可能的替代方案是什么,以及决策背后的动机。
在编写这本书的过程中,我们发现很多工程师低估了这个协议的深度——它不就是一个 xy = k
吗?实际上,Uniswap V2 充满了巧妙的工程决策,它用少量的代码处理了相当多的复杂性。这是每个 Solidity 开发者都可以从中学习的内容。
此外,根据 DeFi Llama Fork Tracker,Uniswap V2 无论是按 TLV(总锁定价值)还是分叉数量,都是被分叉最多的 DeFi 协议。理解这个协议所付出的努力将让你对其他数百个 DeFi 应用有深入的了解。
对于那些想要实践的人,我们在读者已经掌握了足够知识的地方引入了来自 DamnVulnerableDeFi 、 Ethernaut 和 Mr Steal Yo Crypto 的问题,以便读者能够以最小的难度解决问题。最后,我们以一个指南作为结束,教你如何自己实现一个 Uniswap V2 的克隆,但由于原始代码库已经有四年多的历史,因此我们做了一个现代化的改进。
Uniswap 并不直接使用 ERC 4626 或 ERC 3156。然而,熟悉这些标准是有帮助的,因为 Uniswap 使用了类似的概念。任何一个优秀的 Solidity 开发者或审计员都应该熟悉这些标准。所以如果你还不了解它们,请先阅读那些文章。Uniswap 的文章将假设你已经了解这些标准。
Uniswap 使用定点算法来记录价格,因此读者在阅读关于 TWAP Oracle 的章节之前,应该先熟悉这一概念。
请控制好节奏——往脑子里塞满新概念并不是一种有效的学习方式。我们建议每天只阅读一章,然后在不看指南的情况下自己阅读源代码,以确保一切都理解透彻。
要理解 Uniswap V2,你需要具备以下背景知识。
ERC4626 是一个代币化的 Vault 标准,它使用 ERC20 代币来表示某些其他资产的份额。
闪电贷是智能合约之间的贷款,必须在同一笔交易中偿还。本文描述了 ERC 3156 闪电贷规范,以及闪电贷提供者和借款人可能被攻击的方式。
第一章 架构
第二章 Swap 的价格影响
第三章 Swap 函数
第四章 Mint 和 Burn 函数
第五章 协议的 mintFee
第六章 TWAP Oracle
第七章 Uniswap V2 库
第八章 Routers
- 原文链接: rareskills.io/uniswap-v2...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!