如何与 Uniswap、Sushiswap 等去中心化交易所交互,理解 AMM(自动做市商)的原理

一、DEX 是什么(一句话面试版)

DEX(去中心化交易所)

→ 不靠订单簿撮合

→ 不托管资产

→ 通过智能合约 + AMM 算法,让用户直接在链上完成兑换

Uniswap / Sushiswap 本质:

一组部署在链上的合约 + 一个前端 UI


二、AMM 是什么(核心思想)

1️⃣ AMM 在解决什么问题?

传统交易所(CEX):

  • 有订单簿
  • 有做市商
  • 有撮合引擎

DEX 没有:

  • 没人挂买卖单
  • 没人撮合

👉 那价格从哪来?


2️⃣ AMM 的答案

价格由"池子里的资产比例"决定

池子里永远有两种币,比如:

复制代码
ETH / USDC 池
x = ETH 数量
y = USDC 数量

Uniswap V2 的核心公式(必须会):

复制代码
x * y = k   (恒定乘积)

k 是常数,交易前后不变


3️⃣ 用大白话解释一次交易过程

假设池子里:

复制代码
ETH = 10
USDC = 20,000

此时:

复制代码
ETH 价格 ≈ 2000 USDC

你用 1000 USDC 买 ETH

  • USDC ↑
  • ETH ↓
  • 必须保持 x * y = k

👉 价格自动变化

👉 你买得越多,价格越贵

👉 这就是滑点(slippage)


三、Uniswap / Sushiswap 怎么交互(前端视角)

1️⃣ 合约层结构(非常重要)

你前端真正交互的不是「DEX」,而是这些合约:

合约 作用
ERC20 代币合约
Pair / Pool 资金池
Router 封装好的交易入口
Factory 创建池子

👉 99% 前端只调 Router


2️⃣ 一次 Swap 的完整流程(必背)

USDC → ETH 为例:

Step 1:approve(必有)
ts 复制代码
USDC.approve(
  routerAddress,
  amountIn
)

授权 Router 花你的 USDC


Step 2:调用 Router.swap
ts 复制代码
router.swapExactTokensForTokens(
  amountIn,
  amountOutMin,
  path,        // [USDC, WETH]
  to,          // 你的地址
  deadline
)

🔑 参数解释(面试重点):

参数 说明
amountIn 你付出的币
amountOutMin 最少能接受多少(防滑点)
path 兑换路径
deadline 防止交易卡太久

3️⃣ 为什么一定要 approve?

因为:

  • ERC20 遵循 "转账必须授权"
  • Router 不是你
  • 合约不能随便动你资产

👉 approve → swap 是 DeFi 高频考点


四、AMM 的几个核心概念(必会)

1️⃣ 滑点(Slippage)

你看到的价格 ≠ 最终成交价

原因:

  • 交易会改变池子比例

前端常见处理:

  • 设置 0.5% / 1% / 自定义

2️⃣ LP(流动性提供者)

你也可以往池子里存币赚钱

复制代码
存 ETH + USDC
→ 获得 LP Token
→ 赚手续费

3️⃣ 无常损失(Impermanent Loss)

价格波动导致:

  • 你提供流动性
  • 不如直接持币

👉 LP 风险点,面试经常问


五、Uniswap vs Sushiswap(一句话区别)

项目 Uniswap Sushiswap
本质 AMM AMM
起源 原创 Fork Uniswap
代币 UNI SUSHI
特点 稳定、主流 激进、功能多

👉 前端交互几乎一模一样


六、前端如何"真的"用起来(你该练什么)

推荐最小实战路径(很适合你)

1️⃣ 用 wagmi + ethers

2️⃣ 连钱包

3️⃣ 调用 Uniswap Router

4️⃣ 实现:

  • 读价格(getAmountsOut)
  • approve
  • swap
  • 显示滑点 / 失败原因

七、面试一句话总结(直接背)

DEX 通过 AMM 算法,用资金池代替订单簿。

Uniswap 使用恒定乘积公式 x*y=k 定价,

前端主要通过 Router 合约完成 approve + swap,

交易中需要处理滑点、授权、路径和截止时间等问题。

相关推荐
stockmasterx12 小时前
北交所有哪些注意事项?北交所佣金最低是多少?
区块链
网安蟹佬霸12 小时前
区块链与智能合约安全实战:从Solidity审计到DeFi漏洞深度剖析
运维·前端·网络·安全·自动化·区块链·智能合约
cmes_love15 小时前
期权分钟行情数据下载:商品/股指/ETF期权全覆盖
数据库·区块链
ZDGJ60991 天前
境外期货的交易品种✨
区块链
cd_949217211 天前
让市场“随时买得到、卖得掉” 深澜量化探索流动性服务专业化
大数据·区块链
筱璦2 天前
C# + js通达信/分析家风格指标公式完整内、外期货量化交易系统源码可售
区块链
2401_891409262 天前
【无标题】
区块链
磐链科技3 天前
IM钱包开发核心技术拆解:DID去中心化身份与社交图谱的链上映射
去中心化·区块链
磐链科技3 天前
中心化钱包开发中的账户安全模型:Vitalik最新社交恢复构想解读
安全·区块链
磐链科技4 天前
交易所开发流动性解决方案:做市商接入与订单深度管理策略
区块链