希望升级到最新版本?请参阅 从 v3 迁移到 v4 指南,了解最新的重大变更。
概览
LI.FI SDK v3 经历了一次重大更新,改进了与 Viem 等热门库的兼容性,并添加了新功能,包括对多个生态系统的支持,首先从 Solana 开始。因此,如本指南所述,您需要注意一些重大变更和弃用。我们还建议查看更新后的文档,了解此处未涵盖的其他新功能。 要开始使用,请安装最新版本的 LI.FI SDK。配置
我们对 LI.FI SDK 的配置方式进行了重大更改。它不再基于类,因此您无需创建、维护和共享 LiFi 类实例即可使用 SDK 功能。相反,它现在基于函数,允许您配置一次,并从任何地方更新配置,而无需维护或共享配置对象的引用。您只需在需要的地方从包中导入必要的函数即可。 在此示例中,您可以使用 SDK v3 从任何地方调用getQuote 函数,而使用 SDK v2 时,您必须共享创建的 LiFi 类实例,并将 getQuote 作为该类的方法调用。
LiFi 接口中与配置相关的函数不再需要。之前的接口包括:
重命名的方法
之前由基于类的方法支持的所有方法现在都是可以直接从@lifi/sdk 包导入的独立函数。其中一些方法已被重命名,以更好地反映其功能或拥有更简洁的名称。
-
getContractCallQuote->getContractCallsQuote -
getTokenApproval->getTokenAllowance -
bulkGetTokenApproval->getTokenAllowanceMulticall -
approveToken->setTokenAllowance -
moveExecutionToBackground->updateRouteExecution
从 Ethers.js 迁移到 Viem
自 LI.FI SDK 的第一个版本以来,我们一直依赖Ethers.js 库进行所有与 EVM 相关的交互。然而,随着行业的发展,Viem 正获得广泛采用,并开始取代 Ethers.js。
为确保我们的产品保持健壮且面向未来,我们决定将整个技术栈过渡到更可靠的解决方案 —— Viem(Widget 使用 Wagmi)。
有关更多详细信息,请参阅 Ethers v5 到 viem 迁移指南。除其他显著变更外,此过渡还将我们之前在 v2 中使用的所有 BigNumber 实用工具替换为原生 bigint 原语。
多生态系统支持
LI.FI SDK v3 现在支持两个生态系统 —— EVM 和 Solana —— 更多生态系统即将推出。为了适应这些新生态系统,我们在 SDK v3 中引入了生态系统提供者的概念。我们从 SDK v2 中提取了所有与 EVM 相关的功能,并将其集成到 EVM 提供者中。此外,还添加了 Solana 提供者,以在所有 SDK 函数中启用与 Solana 相关的功能。 这些生态系统提供者在设计时考虑了模块化,并且完全可以进行 tree-shake,确保如果不使用它们,就不会给您的捆绑包增加不必要的重量。 以前,需要将Ethers.js Signer 对象传递给 executeRoute 和其他函数以进行 EVM 交互。随着生态系统提供者的引入,您只需在设置 SDK 时配置它们一次。之后,您可以使用 executeRoute 和其他函数,而无需传递任何额外选项。SDK 将自动确定适当的生态系统提供者,并在未配置合适的提供者时通知您。
阅读更多 SDK 生态系统提供者简介。

