Rainbow logo
RainbowKit
2.2.10

遷移至 WalletConnect v2

在五分鐘內準備好您的 dApp 進行 v2 升級

WalletConnect v1 協議將於 2023 年 6 月 28 日關閉,並且 RainbowKit 將協助您輕鬆完成過渡。

RainbowKit 現在標準支持 WalletConnect v2,無需重大變更。只需升級並參考下文指南以獲取更多詳情。

WalletConnect 是允許用戶將其移動錢包連接至您的 dApp 的協議,這是 RainbowKit 的重要基礎。最新的 WalletConnect v2 發行提供了許多重要的升級來改善錢包與 dApp 的體驗。

通過 v2,您的用戶現在可以同時連接到多個鏈,因此您無需擔心鏈切換問題。它還擴展了對更多網絡的支持,並進行了改進,使以太坊簽名登入變得更快。

如果您已經遵循了 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

如果您使用的是 0.12.x1.0.x 之前的 RainbowKit 版本,只需按照 遷移指南 進行即時更新。

建議 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 的實際操作:

參考 文件 以獲取更多支持選項。