跳转到主要内容
本快速入门将带你完成一笔同链 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 端点,直到转账到达 DONE 或 FAILED:
有关完整的状态参考,请参阅交易状态跟踪。

完整可运行示例

复制粘贴这个完整示例,运行你的第一笔 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