原文标题:《CodeReview回顾:去中心化交易所Uniswap》
撰文:要飞的Harry
这次CodeReview的项目是去中心化交易所Uniswap,领读员是Tiny熊。
视频回顾在?这里。
Uniswap介绍
Uniswap的核心原理利用了一个简单的常量乘积模型:K=x*y,其中x,y为代币数量。在交易的过程中,需要保持K值不变,所以x和y的变化方向是相反的。可以参考下面的三幅图来理解如何在Uniswap中交易和增加流动性。
一位Orb Land NFT持有者在面临300%的“哈伯格税”后放弃了该NFT所有权:金色财经报道,Eric Wall的Orb Land项目通过区块链技术将他的时间和专业知识代币化。一位Orb Land NFT持有者(pawle.eth)在面临300%的繁重“哈伯格税”后放弃了该NFT所有权。[2023/6/27 22:01:34]
代码解读
Uniswap有两个核心的项目:
用来托管Uniswap的资产用来与Uniswap进行交互uniswap-v2-core项目
Ankr为Liquid Staked Ethereum推出解除质押功能:4月18日消息,Web3 基础设施提供商 Ankr 现已为 Liquid Staked Ethereum 推出解除质押(Unstaking)功能。此前报道,4 月 13 日早间以太坊完成上海升级。[2023/4/18 14:10:55]
这个项目中的代码通常不会被用户直接调用,而是被uniswap-v2-periphery项目中的路由合约调用,因为路由合约的接口更友好。
Web3游戏平台Intella X宣布完成1200万美元融资,Animoca Brands等参投:1月18日消息,Web3游戏平台Intella X宣布完成1200万美元融资,Polygon、Animoca Brands、Magic Eden、Planetarium、Big Brain Holdings、Crit Ventures、JoyCity、Pearl Abyss、XL Games、Wemix和Global Coin Research参投。
Intella X是由韩国游戏公司Neowiz与Polygon合作开发的Web3游戏平台,旨在通过简化的钱包创建和元交易等功能消除高进入壁垒并改善Web3中的用户体验。该平台将通过其原生代币奖励其生态系统的贡献者,包括游戏开发者和用户,并通过其去中心化的收入分配协议将其收入份额重新分配回贡献者。该平台计划于第一季度晚些时候上线,推出的产品还将包括Intella X专有的Web3钱包、去中心化交易所、NFT市场、Launchpad和一些游戏。(The Block)[2023/1/18 11:17:48]
合约:UniswapV2Factory.sol
核心方法:
createPair:用来创建一个交易对。接收两个token的地址作为参数,然后调用汇编方法create2创建pair,之后调用IUniswapV2Pair的initialize方法初始化pair。创建成功后发出PairCreated事件。
合约:UniswapV2Pair.sol
这个合约相当于
核心方法:
mint:给指定的地址mintLPtoken。burn:burn掉LPtoken,发送给用户对应的token0和token1。swap:交易。uniswap-v2-periphery项目
这个项目会被前端直接调用,之后会调用进uniswap-v2-core项目中的对应方法。
合约:UniswapV2Router02.sol
核心方法:
addLiquidity:提供两种ERC-20token,给ERC-20?ERC-20池子添加流动性removeLiquidity:移除ERC-20?ERC-20池子的流动性,接收两种ERC-20tokenremoveLiquidityWithPermit:让用户提前签好名授权合约,这样就省去了approve交易,只需要一笔交易就可以完成approve+transferFrom的操作。swapExactTokensForTokens:交易。指定发送(in)的token0数量,让合约计算得到(out)的token1数量swapTokensForExactTokens:交易。指定想要得到(out)的token1数量,让合约计算需要发送(in)的token0数量更多的关于合约方法的描述,可以参考Uniswap的?文档。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。