延迟从何而来,以及 LI.FI 路由的工作原理
LI.FI 的路由引擎会聚合来自多个桥接和去中心化交易所(DEX)的报价。这一过程涉及对外部协议和工具的实时请求,包括:- 桥接与 DEX 聚合器
- 用于安全和执行检查的链上模拟
- 可能引入自身延迟的链下服务
- 交换步骤解析(Swap Step Resolution) – 从 DEX 获取报价。
- 路由组合(Route Composition) – 将交换和桥接组合起来,构建最优的跨链路径。
优化响应计时
你可以通过自定义以下内容来优化接收报价的速度:在 /quote 和 /advanced/routes 之间选择
- 使用
/quote获得更快的响应。它返回单条最佳路由。它将路由查找和交易生成合并为一次调用,从而减少客户端到服务器的延迟。 - 使用
/advanced/routes来获取多条路由选项。这些调用相当快,能快速向用户展示结果。要执行其中一条路由,需要调用/stepTransaction来生成交易数据。
禁用模拟
- 默认情况下,包含交易数据的响应会包括链上模拟检查。
-
为提升速度,将模拟选项设为
false。你可以将skipSimulation标志作为查询参数传递给/quote或/stepTransaction端点: - 注意:禁用模拟会降低验证程度,但能提升响应时间。如果你在自己的系统中无论如何都会对交易进行 simulate/gasEstimate,那么尤其推荐这样做。
选择计时策略
LI.FI 允许你使用计时策略来控制等待结果的时长。它们不仅仅是指定一个超时时间,而是允许更高级的配置,以确保多个工具的结果都能被纳入考虑。 在生成路由时,计时策略以两种方式应用:swapStepTimingStrategies:在请求同链交换时应用routeTimingStrategies:应用于可能由多个工具组成的完整路由(例如 swap+bridge)
计时策略格式
一条计时策略由以下属性组成:- strategy: 目前仅存在
minWaitTime - minWaitTimeMs: 等待响应的最短时间(例如 600ms)
- startingExpectedResults: 预期的报价数量(例如 4)
- reduceEveryMs: 降低预期的频率(例如每 300ms)
应用此策略时,我们给所有工具 600ms(minWaitTimeMs)的时间来返回结果。如果在这段时间内收到了 4 个或更多(startingExpectedResults)结果,我们就返回这些结果,不再等待其他工具。
如果结果少于 4 个,我们再等待 300ms,然后检查此时是否至少有 3 个结果。
在 API 调用中传递策略
在POST /v1/advanced/routes 请求中:
GET /v1/quote 请求中:
这些示例中传递的策略就是我们默认应用的策略。
计时策略示例
最大化结果即使耗时更长也返回最佳路由:
等待适中的时间,在速度和完整性之间取得平衡:
毫无延迟地返回第一个可用结果:
计时策略仅用于控制 LI.FI 等待第三方提供方响应的时长,LI.FI API 的总响应时间将是 roundTripTime+parsing+strategies+simulation 的总和。
处理过程始终会至少等待一个结果返回,或等待所有外部调用全部失败。

