Посібник з Міграції
Міграція 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 та інші) тепер автоматично з'являтимуться у розділі Встановлені під час роботи в Connect Wallet. Це гарантує, що користувачі завжди зможуть знайти свої улюблені гаманці та підключити їх до dApp без конфліктів або кнопок резервного копіювання.
Розробники продовжують мати повний контроль над списком кастомних гаманців, щоб підкреслити бажані гаманці для кінцевих користувачів. Публікація injectedWallet і walletConnectWallet у вашому списку підтримує всі платформи.
2. Конфігурація Wagmi з використанням getDefaultConfig
Цей новий API спрощує досвід конфігурації та замінює потребу використовувати Wagmi's createConfig безпосередньо. Конфігурація ланцюга спрощена, включаючи передбачувані публічні провайдери для transports.
Список гаманців за замовчуванням буде автоматично включено, що виключає потребу використовувати getDefaultWallets та connectorsForWallets.
Ви можете створити список кастомних гаманців, передаючи імпортовані або кастомні конектори гаманців до wallets. Не потрібно більше створювати екземпляри конекторів гаманців і передавати projectId та chains.
3. RainbowKitProvider
Вам більше не потрібно передавати chains для <RainbowKitProvider>.
Користувацькі Мережі
Тип Chain змінено відповідно до Wagmi v2 і продовжує підтримувати метадані RainbowKit iconUrl та iconBackground.
Приклад з getDefaultConfig:
Приклад з createConfig:
Кастомні Гаманці
Конектори гаманців RainbowKit зазнали значних змін для підтримки Wagmi v2. Зверніться до оновленої документації та прикладу конектора для оновлення будь-яких кастомних конекторів гаманців у вашому dApp.
Конектори гаманців тепер також підтримують стандарт EIP-6963 з rdns властивістю. Переконайтеся, що вона заповнена, щоб уникнути дубльованих посилань на гаманці, що підтримують EIP-6963 у вашому списку гаманців.
Залежність wagmi була оновлена до версії 1.x.x.
Дотримуйтесь наведених нижче кроків для міграції.
Оновіть RainbowKit та wagmi до останньої версії
2. Встановіть viem як додаткову залежність
wagmi v1 вимагає viem як додаткову залежність. Встановіть її за допомогою наступної команди:
3. Переконайтеся у сумісності збирача та поліфіллів
Дивіться наші приклади Конфігурації Webpack для Next.js та Поліфіли для Create React App для керівництва з налаштування вашого проекту.
Додаткові посібники для Vite та Remix доступні тут.
4. Перевірте зміни, що розривають сумісність у wagmi
Якщо ви використовуєте хуки wagmi у вашому додатку, вам потрібно буде слідувати посібнику міграції wagmi до v1.
Якщо ви використовуєте хуки wagmi у вашому додатку, вам потрібно буде слідувати посібнику міграції wagmi до v1.
Залежність wagmi була оновлена до 0.12.x.
RainbowKit прийняв конектор WalletConnectLegacyConnector у wagmi для продовження підтримки WalletConnect v1. Підтримка WalletConnect v2 та WalletConnectConnector буде незабаром доступна як патч, без змін, що розривають сумісність.
Гаманці будуть автоматично переведені у майбутніх релізах.
Кожний dApp тепер повинен надати WalletConnect Cloud projectId для активації WalletConnect v2. Це має бути завершено до відключення серверів моста WalletConnect v1 28 червня 2023 року. RainbowKit тихо віддасть перевагу v1 для всіх гаманців, якщо projectId не вказано.
Дотримуйтесь наведених нижче кроків для міграції.
Кожний dApp, що використовує WalletConnect, тепер потребує отримання projectId з WalletConnect Cloud. Це абсолютно безкоштовно і займає лише кілька хвилин.
Подайте projectId до getDefaultWallets та індивідуальних конекторів гаманців RainbowKit наступним чином:
Залежність wagmi була оновлена до версії 0.11.x.
Дотримуйтесь наведених нижче кроків для міграції.
Якщо ви використовуєте хуки wagmi у вашій програмі, вам потрібно перевірити, чи ваша програма була змінена через невідповідності у wagmi.
Якщо ви використовуєте хуки wagmi у вашій програмі, вам потрібно перевірити, чи ваша програма була змінена через невідповідності у wagmi.
Залежність wagmi peer була оновлена до 0.10.x.
Дотримуйтесь наведених нижче кроків для міграції.
Якщо ви використовуєте хуки wagmi у вашій програмі, вам потрібно перевірити, чи ваша програма була змінена через невідповідності у wagmi.
Якщо ви використовуєте хуки wagmi у вашій програмі, вам потрібно перевірити, чи ваша програма була змінена через невідповідності у wagmi.
Залежність wagmi peer була оновлена до 0.9.x.
Дотримуйтесь наведених нижче кроків для міграції.
Якщо ви використовуєте хуки wagmi у вашій програмі, вам потрібно перевірити, чи ваша програма була змінена через невідповідності у wagmi.
Якщо ви використовуєте хуки wagmi у вашій програмі, вам потрібно перевірити, чи ваша програма була змінена через невідповідності у wagmi.
Залежність wagmi peer була оновлена до 0.8.x.
Дотримуйтесь наведених нижче кроків для міграції.
Якщо ви використовуєте хуки wagmi у вашій програмі, вам потрібно перевірити, чи ваша програма була змінена через невідповідності у wagmi.
Якщо ви використовуєте хуки wagmi у вашій програмі, вам потрібно перевірити, чи ваша програма була змінена через невідповідності у wagmi.
Якщо ви створюєте користувацький список гаманців, тепер потрібно імпортувати кожен гаманець окремо для зменшення розміру бандла. Зворотна сумісність зі Steakwallet видалена. Використовуйте Omni замість цього.
Зміни, що розривають сумісність, версії 0.4.x
RainbowKit оновив залежність wagmi до версії 0.5.x.
Дотримуйтесь наведених нижче кроків для міграції.
Оновіть RainbowKit та wagmi до останньої версії
Якщо ви використовуєте хуки wagmi у вашій програмі, вам потрібно перевірити, чи ваша програма була змінена через невідповідності у 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.
І це все! 🌈