想在 Aptos 网络上玩转 PancakeSwap Router v2 却很难上手?本文用最直白的中文拆解 合约结构、核心函数、关键参数,顺带铺好常见坑位与高收益小技巧。读完即可快速 创建流动性池、添加/撤回流動性、完成多跳交換,并把 Router v2 的 关键字 用到位:Router v2、DeFi、流动性挖矿、Aptos、去中心化交易、智能合约。
一、合约速览与权限结构
| 组件 | 内容 |
|---|---|
| 合约名称 | pancake::router |
| 合约地址 | 0xc7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa |
| 多重签名 | b11ccaed0056a75472539c2b0d9511c82fc6a36622bec7578216af5fe550dd0d |
任何升级或参数修改,都需要 Admin Multi Sig 集体签名,确保 去中心化交易 资金安全,防止单点作恶。
二、创建流动性对与资产类型
1. 核心的“币对”概念
Router v2 支持任意两种同质化代币组成交易对,官方称之为:
- token X
- token Y
只需记住:币对永远是一枚基础币 + 一枚计价币。
2. 如何创建交易对?
任何人都能调用 create_pair 入口函数,为两种代币建立 流动性池。一个新池子诞生后,即可开始 添加流动性、进行交易。
public entry fun create_pair(sender: &signer)参数极其简单:
sender:交易发起人的签名对象,无需额外参数。
三、添加与移除流动性
在使用 Router v2 之前,你至少要熟悉以下几组参数:
amount_x_desired、amount_y_desired:想一次塞进去的 token 数量。amount_x_min、amount_y_min:能接受的最低数量,用于抵御滑点。
添加流动性函数
public entry fun add_liquidity(
sender: &signer,
amount_x_desired: u64,
amount_y_desired: u64,
amount_x_min: u64,
amount_y_min: u64,
)移除流动性函数
public entry fun remove_liquidity(
sender: &signer,
liquidity: u64,
amount_x_min: u64,
amount_y_min: u64,
)示例场景:Alice 想为 APT/USDC 池子注入 100 APT + 1200 USDC,但怕价格波动,额外设置最低分别为 95 APT、1150 USDC。若当前链上价格偏离 ≥5%,交易自动回滚,防止被“软性抢劫”。
四、两种主交换玩法
在 DeFi 世界中,每笔 交换 (swap) 都逃不开“投入数量固定”或“产出数量固定”两大范式。Router v2 全部覆盖。
1. 精确输入 swap_exact_input
你要换出的币数量是确定的,滑点只体现在“换来多少”。
public entry fun swap_exact_input(
sender: &signer,
x_in: u64,
y_min_out: u64,
)- x_in:你准备丢进去的 token 数量
- y_min_out:打底成交线,低于此量直接取消交易
2. 精确输出 swap_exact_output
反过来,你要拿到的币数量是固定的,花多少算多少。
public entry fun swap_exact_output(
sender: &signer,
y_out: u64,
x_max_in: u64,
)- y_out:必拿到手的 token
- x_max_in:花得起的最大预算,超限即失败
五、多跳路由:单跳还不够就叠跳
当 流动性池 缺乏直链路径时,Router v2 一次性支持 双跳、三跳、四跳。原理即把多条路径串成套利链,为你的 去中心化交易 节约成本。
1. 双跳示例
public entry fun swap_exact_input_doublehop(
sender: &signer,
x_in: u64,
z_min_out: u64,
)此时系统先用 XY 池子里把 X 换成 Y,再进入 YZ 池子把 Y 换成 Z。
2. 三跳 & 四跳
swap_exact_input_triplehopswap_exact_output_triplehopswap_exact_input_quadruplehopswap_exact_output_quadruplehop
注意:多跳转得越多,SEP(大小差异保护) 与价格冲击风险越高,建议只在 深度池子 或机器抢跑时使用。
👉 一篇实战拉满的文章,附上真实链上记录:如何一次四跳把 meme 币换成主流资产
六、底层 Public Functions:程序员的乐园
当你想把 Router v2 集成进脚本或量化系统时,Public Functions 提供无署名 (no signer required) 的只读或搬运能力。
swap_exact_x_to_y_direct_external:直接搬运 Coin 资源,无需出入金账户swap_x_to_exact_y_direct_external:返回(coin::Coin, coin::Coin)双资源get_amount_in:计算逆向单点报价,写机器人必用
🔹 使用场景:在 流动性挖矿 算法里调用 get_amount_in,实时判断是否要反向补货。
七、常见疑问 FAQ
Q1:创建交易对需要多少手续费?
A:仅需支付 Aptos 链的基础 gas,Router 合约 零额外费用。
Q2:添加流动性后多久可以领取奖励?
A:PancakeSwap v2 不提供挖矿激励,但你可以将 LP token 质押到其他 DeFi 项目获取收益。
Q3:交换会收多少手续费?
A:每笔 swap 会产生 0.25% 手续费,其中 0.17% 归流动性提供者,其余用于回购和销毁。
Q4:为什么我加了 amount_x_min,交易还是被取消了?
A:检查该代币当前价格滑点是否超过阈值,建议调高滑点容忍或使用 限价单。
Q5:多跳最多支持多少池?
A:Router v2 眼下只开放到 四跳,未来或随社区提案升级。
Q6:合约地址会不会变?
A:目前地址固定,升级通过 Admin Multi Sig 完成前端透明公告。
结语
在 Aptos 高速低费环境下,PancakeSwap Router v2 把 去中心化交易 体验拉到了天花板。理解每一行函数与参数后,你就能像专业做市商一样,无缝切换 创建流动性池、添加流动性、执行单方或多跳交换,并最大化 流动性挖矿 收益。祝你链上掘金愉快!