Посібник з Міграції
Міграція RainbowKit
Залежності wagmi та viem досягли версії 2.x.x
зі змінами, що призводять до невідповідності.
Дотримуйтесь наступних кроків для міграції.
1. Оновіть RainbowKit, wagmi
та viem
до останньої версії
2. Встановіть залежність однорангових пакетів @tanstack/react-query
З Wagmi v2, TanStack Query тепер є обов'язковою залежністю однорангових пакетів.
Встановіть її за допомогою наступної команди:
3. Оновіть ваші конфігурації RainbowKit та Wagmi
4. Перевірте критичні зміни в wagmi
та viem
Якщо ви використовуєте хуки wagmi
та дії viem
у вашому dApp, вам потрібно буде слідувати посібникам міграції для v2:
1. Покращене поводження для гаманців з підтримкою EIP-6963
Гаманці, що підтримують новий стандарт підключення EIP-6963 (включаючи Rainbow, MetaMask та інші), тепер будуть автоматично з'являтися у розділі Installed
під час процесу підключення гаманця. Це забезпечує користувачам можливість завжди знаходити свої улюблені гаманці та підключатися до dApps без конфліктів або резервних кнопок.
Розробники продовжують мати повний контроль над Кастомним Списком Гаманців для надання переваги обраним гаманцям для кінцевих користувачів. Рекомендується продовжувати включати injectedWallet
та walletConnectWallet
до свого списку, щоб підтримувати всі платформи.
2. Конфігурація Wagmi з getDefaultConfig
Цей новий API спрощує процес налаштування та замінює необхідність у використанні createConfig
Wagmi безпосередньо. Конфігурація мережі спрощена, включаючи непублічних провайдерів для transports
.
Стандартний список гаманців буде включений автоматично, що робить непотрібним використання getDefaultWallets
та connectorsForWallets
.
Ви можете створити Кастомний Список Гаманців, передаючи імпортовані або Кастомні гаманці-конектори в wallets
. Ініціалізація гаманців-конекторів та передача projectId
та chains
більше не потрібні.
3. RainbowKitProvider
Вам більше не потрібно передавати chains
до <RainbowKitProvider>
.
4. Користувацькі Мережі
Тип Chain
змінений у відповідності до Wagmi v2 та продовжує підтримувати метадані RainbowKit iconUrl
та iconBackground
.
Приклад з getDefaultConfig
:
Приклад з createConfig
:
5. Кастомні Гаманці
Конектори гаманців RainbowKit зазнали значних змін для підтримки Wagmi v2. Звертайтеся до оновленої документації та прикладного конектора для оновлення будь-яких адаптерів користувацьких гаманців у вашому dApp.
Конектори гаманців тепер також підтримують стандарт EIP-6963 з пропозицією rdns
. Переконайтеся, що це заповнено, щоб уникнути дублювання посилань на гаманці, що підтримують EIP-6963, у вашому списку гаманців.
Залежність wagmi була оновлена до версії 1.x.x
.
Дотримуйтесь наступних кроків для міграції.
1. Оновіть RainbowKit та wagmi
до останньої версії
2. Встановити залежність viem
wagmi v1 потребує залежність viem
. Встановіть її за допомогою наступної команди:
3. Забезпечте сумісність будівника та поліфіла
У попередніх версіях wagmi, які використовували ethers, модулі fs
, net
та tls
, які вимагалися WalletConnect, автоматично поліфілилися. Це більше не актуально для RainbowKit v1 + wagmi v1, які побудовані на основі viem.
Дивіться наші приклади Конфігурації Webpack для Next.js та Поліфіли для Create React App для керівництва з налаштування вашого проекту.
Додаткові керівництва для фреймворків Vite та Remix доступні тут.
4. Перевірте зміни, що розривають сумісність у wagmi
Якщо ви використовуєте хуки wagmi
у вашому додатку, вам потрібно буде слідувати посібнику міграції wagmi
до v1.
Тут ви можете переглянути їхній посібник міграції.
Залежність wagmi була оновлена до версії 0.12.x
.
RainbowKit прийняв засіб підключення WalletConnectLegacyConnector
у wagmi
для продовження підтримки WalletConnect v1. Підтримка WalletConnect v2 та WalletConnectConnector
буде незабаром доступна як патч-реліз, без розриву сумісності.
Гаманці будуть автоматично переведені у майбутніх релізах.
Кожен dApp тепер повинен надати projectId
для увімкнення WalletConnect v2 у WalletConnect Cloud. Це повинно бути завершено до закриття серверів моста WalletConnect v1 28 червня 2023 року. RainbowKit тихо надаватиме перевагу v1 для всіх гаманців, якщо projectId
не вказано.
Дотримуйтесь наступних кроків для міграції.
Кожен dApp, який залежить від WalletConnect, тепер повинен отримати projectId
з WalletConnect Cloud. Це абсолютно безкоштовно і займає лише кілька хвилин.
Подайте projectId
до getDefaultWallets
та індивідуальних конекторів гаманців RainbowKit наступним чином:
Залежність wagmi була оновлена до версії 0.11.x
.
Дотримуйтесь наступних кроків для міграції.
Якщо ви використовуєте хуки wagmi
у вашій програмі, вам потрібно перевірити, чи ваша програма була змінена через невідповідності у wagmi
.
Тут ви можете переглянути їхній посібник з міграції.
Залежність wagmi була оновлена до версії 0.10.x
.
Дотримуйтесь наступних кроків для міграції.
Якщо ви використовуєте хуки wagmi
у вашій програмі, вам потрібно перевірити, чи ваша програма була змінена через невідповідності у wagmi
.
Тут ви можете переглянути їхній посібник з міграції.
Залежність wagmi була оновлена до версії 0.9.x
.
Дотримуйтесь наступних кроків для міграції.
Якщо ви використовуєте хуки wagmi
у вашій програмі, вам потрібно перевірити, чи ваша програма була змінена через невідповідності у wagmi
.
Тут ви можете переглянути їхній посібник з міграції.
Залежність wagmi була оновлена до версії 0.8.x
.
Дотримуйтесь наступних кроків для міграції.
Якщо ви використовуєте хуки wagmi
у вашій програмі, вам потрібно перевірити, чи ваша програма була змінена через невідповідності у wagmi
.
Тут ви можете переглянути їхній посібник з міграції.
Якщо ви створюєте користувацький список гаманців, тепер вам потрібно імпортувати кожен гаманець окремо, щоб зменшити розмір пакета. Зверніть увагу, що оскільки гаманці більше не містяться в просторі імен через об'єкт wallet
, всі гаманці тепер мають суфікс Wallet
.
Також зверніть увагу, що назад сумісний шар Steakwallet було видалено. Замість цього слід використовувати Omni.
RainbowKit оновив залежність wagmi
до версії 0.5.x
.
Дотримуйтесь наступних кроків для міграції.
Оновіть RainbowKit та wagmi до останньої версії
Якщо ви використовуєте хуки wagmi
у вашій програмі, вам потрібно перевірити, чи ваша програма була змінена через невідповідності у wagmi
.
Ви можете переглянути їхній посібник міграції тут.
Вилучено параметр chainId
з createConnector
у типі Wallet
.
Зверніть увагу, що всі вбудовані гаманці використовують новий API. Більшість користувачів не постраждають. Ця зміна впливає лише на користувачів, які створили/використовують кастомні гаманці**
Якщо ви раніше отримували URL-адреси RPC з chainId
у createConnector
, тепер ви можете видалити цю логіку, оскільки wagmi
тепер обробляє URL-адреси RPC внутрішньо, коли використовується з configureChains
.
RainbowKit оновив залежність wagmi
до версії ^0.4
.
Дотримуйтесь наступних кроків для міграції.
Оновіть RainbowKit та wagmi до останньої версії
Імпортуйте configureChains
з wagmi замість RainbowKit:
RainbowKit більше не експортує API apiProvider
. Замініть його на бажаний провайдер з wagmi.
Імпортуйте alchemyProvider
з wagmi/providers/alchemy
.
Імпортуйте infuraProvider
з wagmi/providers/infura
.
Імпортуйте jsonRpcProvider
з wagmi/providers/jsonRpc
.
Імпортуйте publicProvider
з wagmi/providers/public
.
Перейменуйте WagmiProvider
на WagmiConfig
.
І все готово! 🌈