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 ваши пользователи теперь могут одновременно подключаться к нескольким цепочкам, поэтому можете забыть о процессе переключения цепочки. Он также расширяет поддержку большего числа сетей и улучшает вход с помощью 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, просто следуйте Руководству по миграции, чтобы быть в курсе.

Рекомендуется, чтобы dApp версии 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 в действии:

Обратитесь к документации для дополнительных поддерживаемых опций.