Liquidity 使用指南
简介
LP(流动性提供者)是指代币持有者将两种不同的代币(如 RGas
和 GROW
)组合成代币对,并将其质押至 Rooch 的流动性池(Farm)。这些池子将获得 RGas
和 GROW
的流动性,而流动性提供者根据其贡献的流动性比例,获得池子的收益($LPXP
)。持有 $LPXP
的用户将有机会参与未来的 $ROOCH
空投。
Rooch 现在推出 RGas
和 GROW
代币对质押,接下来通过一个简单的演示展示质押流程。
- 网站链接:https://portal.rooch.network/trade/liquidity (opens in a new tab)
- Portal FAQ:https://rooch.network/zh-CN/learn/miscellaneous/portal#faq (opens in a new tab)
质押流程
进入 Portal 页面,选择 Liquidity
点击右边的 Add
按钮:
只用填写 RGas
,LP 对会自动计算 GROW
的配量:
配量根据官方的 Swap 池子计算,计算公式为:
amount-in: 输入代币数量
reserve-in: 输入代币储备量
reserve-out: 输出代币储备量
fee-rate: 手续费率
amount-in-with-fee = amount-in * fee-rate
amount-out = (amount-in-with-fee * reserve-out) / (reserve-in * 10000 + amount-in-with-fee)
amount-in = (reserve-in * amount-out * 10000) / (reserve-out - amount-out * fee-rate) + 1
详细解释请看代码批注:
// 计算用户能获得多少输出代币
public fun get_amount_out(
amount_in: u64,
reserve_in: u64,
reserve_out: u64,
fee_rate: u64,
): u64 {
assert!(amount_in > 0, ErrorInputTokenAmount); // 确保输入金额大于 0
assert!(reserve_in > 0 && reserve_out > 0, ErrorInsufficientLiquidity); // 确保池子有足够流动性
let amount_in_with_fee = (amount_in as u128) * (fee_rate as u128); // 计算手续费
// 基于恒定乘积公式: (x + Δx)(y - Δy) = xy 计算输出金额
let numerator = amount_in_with_fee * (reserve_out as u128);
let denominator = (reserve_in as u128) * 10000u128 + amount_in_with_fee;
((numerator / denominator) as u64)
}
// 计算要获得特定数量的输出代币需要投入多少输入代币
public fun get_amount_in(
amount_out: u64,
reserve_in: u64,
reserve_out: u64,
fee_rate: u64
): u64 {
assert!(amount_out > 0, ErrorOutputTokenAmount);
assert!(reserve_in > 0 && reserve_out > 0, ErrorInsufficientLiquidity);
// 从恒定乘积公式反向计算,加 1 确保有足够的输入量
let numerator = (reserve_in as u128) * (amount_out as u128) * 10000u128;
let denominator = ((reserve_out as u128) - (amount_out as u128)) * (fee_rate as u128);
(((numerator / denominator) as u64) + 1u64)
}
检查 LP 组的预估收益,点击 Confirm
按钮完成 LP 质押:
可以看到刚才组的 LP 情况:
点击右侧 Remove
按钮,可以解质押:
组 LP 对的计算公式:
point = x / x pool * 100%
y = y pool * point
赚取代币对收益
当组好 LP 后,可以将 LP 质押到 Farm 获取代币对的收益,如果单纯组代币对是没有收益的。
点击 Stake LP
按钮进行代币对质押:
质押 LP 后,可以获取 $LPXP
收益。
在 Rooch 发布的代币经济 (opens in a new tab)一文中公布了 5%
的 $ROOCH
代币将用于激励 LP 提供者,持有 $LPXP
可以在未来获得 $ROOCH
空投。