Rainbow logo
RainbowKit
2.2.10

Міграція до WalletConnect v2

Підготувати ваш dApp до оновлення v2 за 5 хвилин або менше

Протокол WalletConnect v1 буде відключено 28 червня 2023 року, і RainbowKit допоможе вам зробити перехід максимально простим.

Підтримка WalletConnect v2 тепер стандартно вбудована в RainbowKit, без змін, що руйнують сумісність. Просто оновіть і зверніться до керівництва нижче для отримання додаткової інформації.

WalletConnect — це протокол, що дозволяє користувачам підключити свої мобільні гаманці до вашого dApp, і це важлива основа RainbowKit. Останній випуск WalletConnect v2 приносить ряд важливих оновлень, щоб зробити взаємодію гаманець-dApp ще кращою.

З v2, ваші користувачі можуть одночасно підключатися до кількох ланцюжків, відповідно, можна забути про рукостискання з перемиканням ланцюжків. Це також розширює підтримку більшої кількості мереж і вносить поліпшення, що роблять Sign-in with Ethereum ще швидше.

Якщо ви вже слідували посібникам міграції для RainbowKit 0.12.x і 1.0.x, ви вже майже там! Просто оновіть до останньої версії та спробуйте.

RainbowKit увімкнено WalletConnect v2 за замовчуванням з 0.12.15 і 1.0.2. Ми продовжуємо підтримку 0.12.x, якщо ваш dApp ще не оновлено до wagmi v1 і RainbowKit v1.

1. Оновлення залежностей

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

Якщо ви використовуєте версію RainbowKit до 0.12.x або 1.0.x, просто виконайте Посібник з Міграції для оновлення.

Рекомендується, щоб dApps 0.12.x почали оновлюватися до wagmi v1, оскільки поліпшення стабільності для WalletConnect v2 будуть включені тільки в майбутніх версіях wagmi.

2. Надання projectId

Кожний dApp, що використовує WalletConnect, тепер потребує отримання projectId з WalletConnect Cloud. Це абсолютно безкоштовно і займає лише кілька хвилин.

Подайте ваш 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 у дії:

Зверніться до документації для додаткових підтримуваних опцій.