Skip to main content
本快速入门将带你完成一笔同链 Composer 交易,将 USDC 存入 Base 上的 Morpho vault。读完之后,你将理解请求报价、授权代币、执行交易和跟踪状态的完整 flow。 Composer 使用标准的 LI.FI 端点。将 toToken 设置为受支持协议的代币地址,路由引擎就会自动返回一条 Composer 路由。
本快速入门涵盖的是同链存入。Composer 也支持跨 EVM 链的 跨链存入。有关这些 flow,请参阅跨链 Composer 模式

前置条件

  • 一个在 Base 上持有 USDC 的钱包地址(哪怕只有 1 USDC 这样的小额也可以)
  • Node.js 18+(用于 TypeScript 示例)或 curl

1

Get a Composer quote

请求报价,并将 toToken 设置为 vault 代币地址:
关键参数:
toToken 始终是目标协议的 vault 代币地址。你可以在协议自己的应用或文档中找到 vault 代币地址。
响应中包含 transactionRequest(一笔可直接签署的 EVM 交易),以及预估的输出金额和所使用的工具。对于 Composer 路由,tool 字段将为 "composer"
报价反映的是当前市场状况。如果用户查看某个报价超过 30 秒,请在签署前重新获取报价,以得到最新的定价和模拟结果。
2

Set token allowance

在执行之前,请确保 LI.FI Diamond 合约已获得花费你代币的授权。授权地址在报价响应的 quote.estimate.approvalAddress 中返回。它指向 LI.FI Diamond,这是一个部署在所有受支持链上的、经过审计的合约。
如果你发送的是原生代币(例如 ETH),请跳过此步骤。原生代币不需要授权。
如果已发送授权交易,请在执行前重新获取报价。原始报价中返回的 transactionRequest 包含 gas 估算,而这些估算在授权确认时可能已经过时。使用相同的参数再次调用 GET /v1/quote,以获得一笔新的交易。
3

Execute the transaction

使用报价响应中的 transactionRequest 对象发送交易。
就是这样。Composer 会在单笔原子交易中处理交换和存入。
4

Track the status

对于同链交易,交易一经确认即告完成。对于跨链转账,请轮询 /status 端点,直到转账到达 DONEFAILED
有关完整的状态参考,请参阅交易状态跟踪

完整可运行示例

复制粘贴这个完整示例,运行你的第一笔 Composer 交易:

刚才发生了什么?

在幕后,Composer 完成了:
  1. 确定了最优路径。 LI.FI 的路由引擎确定了将 USDC 转换为 Morpho vault 代币的最佳方式。
  2. toToken 激活了 Composer。 vault 代币作为目标发出了一个支持 Composer 的路由信号。
  3. 编译了 eDSL 指令。 Composer 编译器为链上 VM 生成了字节码。
  4. 模拟了执行。 在返回报价之前,会对完整路径进行模拟,以确保其能够成功。
  5. 原子式执行。 你的这一笔交易在一个原子操作中完成了 USDC 的交换和存入 Morpho。

后续步骤

Cross-Chain Composer

跨 EVM 链的桥接 + 存入以及交换 + 桥接 + 存入

Withdrawals Guide

通过提款 flow 补齐用户旅程的另一半

SDK Integration

使用 LI.FI SDK 进行带有 hook 和事件的托管式执行

Vault Deposit Recipes

针对 Morpho、Aave、Euler 等的可复制粘贴 recipe