要求
在开始之前,请确保您具备以下条件:1. 配置身份验证
我们首先需要获取访问 Kuru Flow API 的凭证。 Kuru Flow 使用 JWT token 进行 API 身份验证。lib/kuru-flow.ts
2. 获取兑换报价
/api/quote 端点会计算最佳兑换路径,并返回交易数据。
支持以下参数:
*必须提供
autoSlippage: true 或 slippageTolerance 之一。
我们可以编写一个小函数与 quote API 交互:
lib/kuru-flow.ts
响应结构
lib/kuru-flow.ts
calldata 字段不包含 0x 前缀。在发送交易之前,您必须自行添加。3. 检查代币授权额度(仅 ERC20)
在使用 ERC20 代币执行兑换之前,我们应验证 router 是否有权限 花费用户的代币。components/SwapCard.tsx
4. 授权代币花费(仅 ERC20)
如果 ERC20 代币的授权额度不足,我们应在兑换之前请求授权。components/SwapCard.tsx
5. 执行兑换
要提交兑换,我们应使用报价响应中的交易数据:components/SwapCard.tsx
代币地址和精度(主网)
推荐费系统
Kuru 具有推荐系统。作为推荐人,我们可以通过在报价请求中包含推荐详情,从每次兑换中获得费用。lib/kuru-flow.ts
错误处理
在过程中,我们可能会遇到错误。以下是如何理解它们的说明:常见错误
- 缺少 0x 前缀 - 发送前请为 calldata 添加
0x前缀 - 推荐人地址无效 - 必须是有效的以太坊地址
- 跳过 ERC20 授权 - ERC20 代币需要在兑换前授权(原生 MON 不需要)
- 精度错误 - USDC 有 6 位小数,MON 有 18 位小数
- 原生 MON 兑换时 value 为零 - 兑换原生 MON 时,交易
value必须设置为兑换金额
后续步骤
- 尝试在线演示以观察 Kuru Flow 的实际效果
- 克隆示例仓库以获取完整的可运行实现
- 阅读 Kuru Flow 概述以了解更多详情
- 查看 Monad 网络信息以获取 RPC 端点和链配置

