Rainbow logo
RainbowKit
2.2.10

迁移到 WalletConnect v2

在 5 分钟内或更短时间内为 v2 升级准备您的 dApp

WalletConnect v1 协议将于 2023 年 6 月 28 日关闭,RainbowKit 为您简化过渡提供支持。

RainbowKit 现在对 WalletConnect v2 的支持已成标准,且无破坏性更改。只需升级并参考下方指南以获取更多详细信息。

WalletConnect 是允许用户将他们的移动钱包连接到您的 dApp 的协议,它是 RainbowKit 的重要基础。WalletConnect v2 的最新发布带来了一些重要升级,使钱包和 dApp 体验更好。

在 v2 中,您的用户现在可以同时连接到多个链,因此您无需再担心链的切换操作。同时,它还扩展了对更多网络的支持,并带来了一些改进,使使用 Ethereum 登录更加快捷。

如果您已经遵循了 RainbowKit 0.12.x1.0.x 的迁移指南,那么您已经接近完成了!只需升级到最新的补丁版本并尝试一下。

RainbowKit 已在 0.12.151.0.2 中默认启用了 WalletConnect v2。我们将继续支持 0.12.x,以防您的 dApp 尚未升级到 Wagmi v1 和 RainbowKit v1。

1. 升级依赖项

npm i @rainbow-me/rainbowkit@^1.0.2 wagmi@^1.2

如果您使用的是 RainbowKit 0.12.x1.0.x 之前的版本,只需按迁移指南更新。

建议 0.12.x 的 dApp 开始升级到 Wagmi v1,因为 WalletConnect v2 的稳定性改进将仅包含在未来的 Wagmi 版本中。

2. 提供 projectId

每个依赖于WalletConnect的dApp现在都需要从WalletConnect Cloud获取一个projectId。这完全免费并只需几分钟即可完成。

将您的 projectId 提供给 getDefaultWallets 和以下各个 RainbowKit 钱包连接器:

const projectId = 'YOUR_PROJECT_ID';
const { wallets } = getDefaultWallets({
appName: 'My RainbowKit App',
projectId,
chains,
});
const connectors = connectorsForWallets([
...wallets,
{
groupName: 'Other',
wallets: [
readyWallet({ projectId, chains }),
trustWallet({ projectId, chains }),
ledgerWallet({ projectId, chains }),
],
},
]);

RainbowKit 是类型安全的,当 projectId 缺失时会发出警告。参考我们的示例以查看 v2 的实际应用:

参考文档以获取更多支持的选项。