长推:从代码层面分析 UniswapX 整体流程
注:本文来自@nzhlfred 推特,MarsBit整理如下:
从代码层面上简单分析下 #UniswapX 的整体流程
下图是官方对于协议整体架构给出的流程图, 下面就图中每一步做具体的的解释, 因为跨链部分源代码还没发布所以就略过了.

这里首先有几个角色, 提前解释下
- swapper: 交易者
- api service: 由 uni 100% 控制的服务, 用于接受 swapper 的 order 并向 filler 同步
- reactor: uniswap 部署的智能合约, 主要负责协调 fillerContract 完成 swap 逻辑并做必要的检查
- filler: 由三方开发的服务, 从 api service 处拿到并找有利润的 order 并调用 reactor 的 excute 完成交易 (有点类似 mev searcher)
- excutor / fillerContract: 由 filler 部署的智能合约, 主要用于完成 swap 的核心逻辑, 底层譬如可以对接到 uniswap, sushi, pancake 等等
- quoter: 由 filler 部署的智能合约, 主要用于在交易开始前给 swapper 报价
交易开始的第一步, 首先是报价
可以有多个三方的 quoters 给 swapper 进行报价, 报价的底线是 uniswapV2, V3 的报价. 价格最优者可以获得优先 fill 该 order 的权利.
uniX 上并没有给出 quoter 的代码, 不过在他部署的实例合约里面可以看到:
https://etherscan.io/address/0x7714520f383C998e8822E8743FD6f90A2979689b

报价合约的思路有点像 v3, 也是通过模拟发送交易来拿到合适的价格.

完成报价后, 如果 swapper 接受报价, 则可以链下对订单进行签名, 因为不需要上链, 所以不要求此时 swapper 有 gas.
如果想使用脚本不直接通过uni前端的话, uni 提供了 sdk 来完成 order 的构建及签名.
https://github.com/Uniswap/uniswapx-sdk
order 本身结构也很简单, 基本上就是对这次 swap 的描述


order 被上传到 uni api service 以后, fillers 可以通过 uni 提供的 api 接口来同步到 order pool 中合法的 order, 并搜索出有利润的, 目前接口已经是可以用的了, 感兴趣的可以试试:
curl https://api.uniswap.org/v2/orders\\">
在不考虑前面提到的最佳报价者能优先 fill order 的情况下, 此时所有的 fillers 实际是属于竞争关系, 有可能出现有多个 filler 同时竞争同一个 order, 所以 uinswap 文档提到说最好使用 flashbot 来防止 gas war.
流程走到这里第一次发起了交易, 而 gas 费用由 filler 承担的, 所以实际上所谓 0 gas 也正是因为这个, 但是你放心, filler 肯定会把 gas 算在 swap 的价格上的. 所以严格来讲并不是 0 gas, 只是说换了一种形式支付 gas.

这里 filler 调用的即是所谓的 Reactor#execute, 逻辑也不是很复杂, 大概如下
1. order 合规性检查
2. 通过 permit2 把用户支付的代币(input token) 转给 filler 或是 fillerContract
3. 由 filler 或是 fillerContract 完成对目标代币 (output token) 的购买并转给用户

整个流程大概就是这样, 可以说是非常简单了. 现在社区充斥着对 UniswapX 的批评, 大致是说它抄袭 1inch fusion mode 或者说 CoW swap. 首先不得不承认确实是大量借鉴, 这个在它自己的白皮书里面也提到了, 但是我感觉有一些细节还是值得一提的:
1. 首先是 permissionless, 白皮书其实一直在强调要构建一个开放的流动性外包系统, 其实你看不管是 1inch 的 fusion 还是 CoW swap 都或多或少有些封闭甚至不透明. 我认为至少在这一点上 uniswap 肯定是更加明智的, 更开放的系统能带来更多的参与者, 良性竞争的情况下用户的体验实际上肯定是更好的.
其次是他提出的最佳报价者的优先成交权以及声望系统, 这个其实很有意思. 社区里你能看到很多吐槽 1inch fusion mode 的声音, 说很多 resolvers 就干等着等价格下来了再成交. 我认为这其实很大程度上是因为没有对 resolvers 有比较好的奖惩机制导致的, 最佳报价配合声望系统的设计感觉应该可以对上述的问题有所改善">
综上我其实还是坚持认为至少UniswapX的发布对于 Uniswap 自身来讲是正面的, 至少它能帮助继续巩固 Uniswap 在 dex 领域的领先地位, 在可能没有那么多创新的时候基于别人被验证是成熟的方向做一些微创新我觉得也算是明智的选择吧.
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
您可能感兴趣
-
谁在重写美元?稳定币公链的真正战场原文:Sanqing,Foresight News2025 年下半年,稳定币公链这个曾经略显抽象的概念,被两组极其具体的数字点亮。 一边是最近 Stable 的两期存款计划。 第一期额度在短时间内被大
-
DASH、ZEC 及 ICP 等老币集体“复活”,是资本怀旧还是新叙事前兆?原创 | Odaily 星球日报 叮当过去几日,大盘持续走弱,却有一批“老币”逆市上扬,独自掀起一场狂欢。 当主流叙事渐趋乏力,这些尘封已久的名字重新出现在涨幅榜前列。它们并非新故事的缔造者,却在旧时
-
美国史上最长停摆迎终结曙光,参议院推进临时拨款法案
经过40天的政治僵局,停摆终于出现转机。撰文:肖燕燕来源:金十数据美国参议院在重启政府的进程中迈出关键一步:数名温和派民主党人突破党内领导层封锁,投票支持终结这场创纪录时长政府停摆的协议。当地时间周日
-
Bitget 每日早报:特朗普提出每人派发 2000 美元关税“分红”,市场认为或将推动比特币上涨
CBOE推出比特币以太坊连续期货合约。作者:Bitget今日前瞻1、英国央行将于2025年11月10日启动稳定币监管咨询,目标在2026年底前建立完整监管框架,应对数字货币扩散带来的金融稳定风险;2、
-
别再把高风险理财包装成稳定币了
技术在变,名字在变,但人性的贪婪从未改变。撰文:Sleepy.txt稳定币的世界,从来不缺故事,缺的是对风险的敬畏。11 月,稳定币又出事了。一个名为 xUSD 的「稳定币」,价格在 11 月 4 日
-
美国政府即将开门,比特币终于要涨了为何停摆?这一次停摆源于共和党与民主党未能就 10 月 1 日之后的财政预算达成一致。那一天,上一年度联邦预算正式到期。共和党目前掌控国会参众两院,但在参议院仍缺少推动预算案通过所需的 60 票门槛,
-
解读 b402:从 AI 支付协议到服务市场,BNBChain 上的基建野心
b402 不只是 BSC 上的 x402 替代品,而可能是一个更大机会的起点。撰文:深潮 TechFlow市场现在正在经历又一次深度调整,大家都在等过度反应之后的反弹。但当市场真的反弹,你觉得哪些板块
-
本周要闻前瞻 | Immunefi(IMU)在 CoinList 开启代币销售;SharpLink 和 ETHZilla 公布财报整理:Jerry,ChainCatcher重点要闻:CBOE 计划于 11 月 10 日推出 BTC 和 ETH 连续期货产品 币安 Alpha 和币安合约将于 11 月 10 日上线 Janctio
- 成交量排行
- 币种热搜榜
OFFICIAL TRUMP
Pepe
泰达币
比特币
以太坊
USD Coin
Solana
First Digital USD
瑞波币
大零币
莱特币
币安币
狗狗币
Wormhole
Filecoin
ICP
AR
ZEN
OKB
ETC
NEAR
BSV
XCH
EOS
DOT