Panduan Migrasi
Migrasi RainbowKit
Kebergantungan sama wagmi dan viem telah mencapai 2.x.x
dengan perubahan mendasar.
Ikuti langkah di bawah untuk berhijrah.
1. Naik taraf RainbowKit, wagmi
, dan viem
kepada versi terkini mereka
2. Pasang kebergantungan sama @tanstack/react-query
Dengan Wagmi v2, TanStack Query kini diperlukan sebagai kebergantungan sama.
Pasangnya dengan arahan berikut:
3. Naik taraf konfigurasi RainbowKit dan Wagmi anda
4. Periksa perubahan mendasar dalam wagmi
dan viem
Jika anda menggunakan cangkuk wagmi
dan tindakan viem
dalam dApp anda, anda perlu mengikuti panduan penghijrahan untuk v2:
1. Tingkah laku yang diperbaiki untuk dompet EIP-6963
Dompet yang menyokong standard sambungan EIP-6963 baharu (termasuk Rainbow, MetaMask, dan lebih banyak lagi) kini akan secara automatik muncul dalam bahagian Dipasang
semasa pengalaman Connect Wallet. Ini memastikan bahawa pengguna sentiasa dapat mencari dompet kegemaran mereka dan menyambung kepada dApps tanpa konflik atau butang fallback.
Pembangun terus mempunyai kawalan penuh ke atas Senarai Dompet Kustom untuk menekankan dompet pilihan untuk pengguna akhir. Dianjurkan untuk terus menyertakan injectedWallet
dan walletConnectWallet
dalam daftar anda untuk mendukung semua platform.
2. Konfigurasi Wagmi dengan getDefaultConfig
API baharu ini mempermudahkan pengalaman konfigurasi dan menggantikan keperluan untuk menggunakan createConfig
dari Wagmi secara langsung. Konfigurasi rantaian dipermudahkan, termasuk penyedia awam yang disimpulkan untuk transports
.
Senarai dompet lalai akan dimasukkan secara automatik, memansuhkan keperluan untuk menggunakan getDefaultWallets
dan connectorsForWallets
.
Anda boleh mencipta Senarai Dompet Kustom dengan menghantar penyambung Dompet yang diimport atau Kustom kepada wallets
. Memperkenalkan penyambung dompet dan menghantar projectId
dan chains
tidak lagi diperlukan.
3. RainbowKitProvider
Anda tidak lagi perlu menghantar chains
kepada <RainbowKitProvider>
.
4. Rantaian Kustom
Jenis Chain
telah berubah selaras dengan Wagmi v2, dan terus menyokong metadata iconUrl
dan iconBackground
dari RainbowKit.
Contoh dengan getDefaultConfig
:
Contoh dengan createConfig
:
5. Dompet Tersuai
Penyambung dompet RainbowKit telah mengalami perubahan ketara untuk menyokong Wagmi v2. Rujuk dokumen yang diperbarui dan contoh konektor untuk meningkatkan setiap Konektor Dompet Kustom dalam dApp anda.
Penyambung dompet kini juga menyokong standard EIP-6963 dengan prop rdns
. Pastikan ini diisi untuk mengelakkan rujukan berulang kepada dompet yang menyokong EIP-6963 dalam senarai dompet anda.
Ketergantungan sebaya wagmi telah diperbarui ke 1.x.x
.
Ikuti langkah di bawah untuk berhijrah.
1. Tingkatkan RainbowKit dan wagmi
ke versi terbaru mereka
2. Instal ketergantungan sebaya viem
wagmi v1 memerlukan ketergantungan sebaya viem
. Pasangnya dengan arahan berikut:
3. Pastikan kompatibilitas pembungkus dan polyfill
Dalam versi sebelumnya dari wagmi yang bergantung pada ethers, modul fs
, net
, dan tls
yang diperlukan oleh WalletConnect secara otomatis dipolyfill. Ini tidak lagi berlaku untuk RainbowKit v1 + wagmi v1, yang dibangun di atas viem.
Rujuk Next.js Webpack Config dan contoh Create React App polyfills untuk panduan konfigurasi projek anda.
Panduan rangka kerja tambahan untuk Vite dan Remix tersedia di sini.
4. Periksa perubahan yang memecah dalam wagmi
Jika anda menggunakan hook wagmi
dalam aplikasi anda, anda perlu mengikuti panduan migrasi wagmi
ke v1.
Anda boleh melihat panduan migrasi mereka di sini.
Kebergantungan sejawat wagmi telah dikemas kini ke 0.12.x
.
RainbowKit telah menerima pakai penyambung WalletConnectLegacyConnector
dalam wagmi
untuk sokongan WalletConnect v1 yang berterusan. Sokongan untuk WalletConnect v2 dan WalletConnectConnector
akan tersedia tidak lama lagi sebagai patch release, tanpa perubahan yang memecahkan.
Dompet akan dialihkan secara automatik dalam keluaran masa depan.
Setiap dApp kini mesti menyediakan projectId
dari WalletConnect Cloud untuk membolehkan WalletConnect v2. Ini mesti diselesaikan sebelum pelayan jambatan WalletConnect v1 dimatikan pada 28 Jun 2023. RainbowKit akan diam-diam memilih v1 untuk semua dompet jika projectId
tidak ditentukan.
Ikuti langkah di bawah untuk berhijrah.
Setiap dApp yang bergantung pada WalletConnect kini perlu mendapatkan projectId
daripada WalletConnect Cloud. Ini adalah percuma sepenuhnya dan hanya memerlukan beberapa minit.
Sediakan projectId
kepada getDefaultWallets
dan penyambung dompet RainbowKit individu seperti berikut:
Kebergantungan wagmi peer telah dikemaskini kepada 0.11.x
.
Ikuti langkah di bawah untuk berhijrah.
Jika anda menggunakan hooks wagmi
dalam aplikasi anda, anda perlu menyemak jika aplikasi anda telah terjejas oleh perubahan yang memecahkan dalam wagmi
.
Anda boleh melihat panduan migrasi mereka di sini.
Kebergantungan wagmi peer telah dikemaskini kepada 0.10.x
.
Ikuti langkah di bawah untuk berhijrah.
Jika anda menggunakan hooks wagmi
dalam aplikasi anda, anda perlu menyemak jika aplikasi anda telah terjejas oleh perubahan yang memecahkan dalam wagmi
.
Anda boleh melihat panduan migrasi mereka di sini.
Kebergantungan wagmi peer telah dikemaskini kepada 0.9.x
.
Ikuti langkah di bawah untuk berhijrah.
Jika anda menggunakan hooks wagmi
dalam aplikasi anda, anda perlu menyemak jika aplikasi anda telah terjejas oleh perubahan yang memecahkan dalam wagmi
.
Anda boleh melihat panduan migrasi mereka di sini.
Kebergantungan wagmi peer telah dikemaskini kepada 0.8.x
.
Ikuti langkah di bawah untuk berhijrah.
Jika anda menggunakan hooks wagmi
dalam aplikasi anda, anda perlu menyemak jika aplikasi anda telah terjejas oleh perubahan yang memecahkan dalam wagmi
.
Anda boleh melihat panduan migrasi mereka di sini.
Jika anda membuat senarai dompet tersuai, anda sekarang mesti mengimport setiap dompet secara individu untuk mengurangkan saiz bundle. Perhatikan bahawa kerana dompet tidak lagi menggunakan penamaan melalui objek wallet
, semua dompet kini mempunyai akhiran Wallet
.
Juga perhatikan bahawa lapisan keserasian ke belakang Steakwallet telah dibuang. Omni sepatutnya digunakan sebagai gantinya.
RainbowKit telah mengemas kini kebergantungan rakan wagmi
ke 0.5.x
.
Ikuti langkah di bawah untuk berhijrah.
Naik taraf RainbowKit dan wagmi ke versi terkini
Jika anda menggunakan hooks wagmi
dalam aplikasi anda, anda perlu menyemak jika aplikasi anda telah terjejas oleh perubahan yang memecahkan dalam wagmi
.
Anda boleh melihat panduan migrasi mereka di sini.
Dikeluarkan parameter chainId
dari createConnector
pada jenis Wallet
.
Perhatikan bahawa semua dompet yang dibina dalam menggunakan API baru. Kebanyakan pengguna tidak akan terjejas. Perubahan ini hanya memberi kesan kepada pengguna yang telah membuat/menggunakan dompet tersuai.
Jika anda sebelum ini mendapatkan URL RPC daripada chainId
pada createConnector
, anda sekarang boleh menghapuskan logik itu kerana wagmi
kini mengendalikan URL RPC secara dalaman apabila digunakan dengan configureChains
.
RainbowKit telah memperbarui kebergantungan sejawat wagmi
ke ^0.4
.
Ikuti langkah di bawah untuk berhijrah.
Naik taraf RainbowKit dan wagmi ke versi terkini
Import configureChains
dari wagmi dan bukan dari RainbowKit:
RainbowKit tidak lagi mengeksport API apiProvider
. Gantikan ia dengan penyedia yang anda idamkan dari wagmi.
Import alchemyProvider
dari wagmi/providers/alchemy
.
Import infuraProvider
dari wagmi/providers/infura
.
Import jsonRpcProvider
dari wagmi/providers/jsonRpc
.
Import publicProvider
dari wagmi/providers/public
.
Tukar nama WagmiProvider
ke WagmiConfig
.
Dan anda sudah siap! 🌈