@lifi/widget-light)让你可以通过 iframe 将完整的 LI.FI 跨链交换和桥接 widget 嵌入到你的应用中,同时将钱包连接保留在你自己一侧。用户使用他们现有的钱包对交易进行签名 — widget 从不直接接触浏览器扩展或私钥。
何时使用 Widget Light 而非完整 Widget
当你想要在 widget 与你的应用之间实现强隔离时、当你已经管理钱包并希望保留这种控制权时、或者当你想要最小化 bundle 大小时,请选择 Widget Light。当你需要通过 MUI 主题、React 节点注入或基于回调的配置进行深度 UI 自定义时,请选择 完整 widget。
架构
- 你的应用渲染
<LiFiWidgetLight>,它会在 iframe 中加载托管的 widget URL - iframe 发送
READY信号;你的应用以配置和钱包状态作为响应 - 当 widget 需要签名或切换链时,它会通过
postMessage发送一个 RPC 请求 - 你的生态系统处理器(例如用于 EVM 的 wagmi)执行该请求并返回结果
- 钱包状态变化(账户切换、网络更改)会自动推送到 iframe
https://widget.li.fi)。
主要优势
- iframe 隔离 — widget 在沙箱化的 iframe 中运行;你的页面保持完全的控制权
- 零核心依赖 — 除了作为对等依赖的 React 之外,
@lifi/widget-light不附带任何东西;链特定的处理器是可 tree-shake 的子路径导入 - 你的钱包,你的 UX — 交易由你已经管理的钱包(wagmi、wallet-standard、bigmi、dapp-kit)进行签名
- 响应式配置 — 随时更新配置而无需重新加载 iframe
- 类型化事件系统 — 订阅路由执行、钱包和 UI 事件,具备完整的 TypeScript 支持
支持的生态系统
Widget Light 支持五种区块链生态系统,每种都通过一个专用的处理器钩子提供支持:
你只需为你支持的生态系统安装并使用处理器。未使用的生态系统包会被完全从你的 bundle 中 tree-shake 掉。
托管的 Widget
widget iframe 默认从https://widget.li.fi 加载。你无需自行托管或部署任何 widget 代码 — <LiFiWidgetLight> 组件会自动指向此 URL。
若要针对特定版本或自托管的部署进行测试,请将你的自定义 URL 作为 src prop 传入。
后续步骤
- 安装 Widget Light — 设置包和依赖
- 配置 Widget Light — 了解所有配置选项
- Widget Light 事件 — 订阅 widget 事件
- Widget Light 钱包管理 — 理解生态系统处理器
- Widget Light API 参考 — 完整的组件和钩子参考

