Panduan Migrasi
Migrasi RainbowKit
Peer dependencies wagmi dan viem telah mencapai 2.x.x
dengan perubahan besar.
Ikuti langkah-langkah berikut untuk migrasi.
1. Perbarui RainbowKit, wagmi
, dan viem
ke versi terbaru mereka
2. Instal dependensi rekan @tanstack/react-query
Dengan Wagmi v2, TanStack Query kini menjadi dependensi rekan yang diperlukan.
Pasang itu dengan perintah berikut:
3. Perbarui konfigurasi RainbowKit dan Wagmi Anda
4. Periksa perubahan besar di wagmi
dan viem
Jika Anda menggunakan hook wagmi
dan aksi viem
dalam dApp Anda, Anda akan perlu mengikuti panduan migrasi untuk v2:
1. Perilaku yang ditingkatkan untuk dompet EIP-6963
Dompet yang mendukung standar koneksi EIP-6963 baru (termasuk Rainbow, MetaMask, dan lainnya) sekarang akan otomatis muncul di bagian Terpasang
selama pengalaman Connect Wallet. Ini memastikan bahwa pengguna selalu dapat menemukan dompet favorit mereka dan terhubung ke dApps tanpa konflik atau tombol fallback.
Pengembang terus memiliki kontrol penuh atas Daftar Dompet Kustom untuk menekankan dompet yang diutamakan bagi pengguna akhir. Disarankan agar Anda terus menyertakan injectedWallet
dan walletConnectWallet
dalam daftar Anda untuk mendukung semua platform.
2. Konfigurasi Wagmi dengan getDefaultConfig
API baru ini menyederhanakan pengalaman konfigurasi dan menggantikan kebutuhan untuk menggunakan secara langsung Wagmi createConfig
. Konfigurasi rantai disederhanakan, termasuk penyedia publik yang disimpulkan untuk transports
.
Daftar dompet default akan secara otomatis disertakan, menghilangkan kebutuhan untuk menggunakan getDefaultWallets
dan connectorsForWallets
.
Anda dapat membuat Daftar Dompet Kustom dengan mengoper konektor Dompet yang diimpor atau Kustom ke wallets
. Membuat konektor dompet dan meneruskan projectId
dan chains
tidak lagi diperlukan.
3. RainbowKitProvider
Anda tidak perlu lagi meneruskan chains
ke <RainbowKitProvider>
.
4. Rantai Kustom
Tipe Chain
telah berubah sesuai dengan Wagmi v2, dan terus mendukung metadata iconUrl
dan iconBackground
dari RainbowKit.
Contoh dengan getDefaultConfig
:
Contoh dengan createConfig
:
5. Dompet Kustom
Konektor dompet RainbowKit telah mengalami perubahan substansial untuk mendukung Wagmi v2. Merujuk pada dokumen yang diperbarui dan contoh konektor untuk memperbarui konektor Dompet Kustom dalam dApp Anda.
Konektor dompet juga kini mendukung standar EIP-6963 dengan prop rdns
. Pastikan ini diisi untuk mencegah referensi ganda ke dompet yang mendukung EIP-6963 dalam daftar dompet Anda.
wagmi dependensi sejawat telah diperbarui ke 1.x.x
.
Ikuti langkah-langkah berikut untuk migrasi.
1. Perbarui RainbowKit dan wagmi
ke versi terbaru mereka
2. Instal dependensi sejawat viem
wagmi v1 membutuhkan dependensi sejawat viem
. Pasang itu dengan perintah berikut:
3. Pastikan kompatibilitas pembundel dan polyfill
Di versi sebelumnya dari wagmi yang bergantung pada ethers, modul fs
, net
, dan tls
yang dibutuhkan oleh WalletConnect dipolyfill secara otomatis. Ini tidak lagi terjadi pada RainbowKit v1 + wagmi v1, yang dibangun di atas viem.
Merujuk pada Konfigurasi Webpack Next.js dan sampel polyfill Create React App kami untuk petunjuk konfigurasi untuk proyek Anda.
Panduan kerangka kerja tambahan untuk Vite dan Remix tersedia di sini.
4. Periksa perubahan besar pada wagmi
Jika Anda menggunakan hook wagmi
di aplikasi Anda, Anda perlu mengikuti panduan migrasi wagmi
ke v1.
Anda dapat melihat panduan migrasi mereka di sini.
Ketergantungan sejawat wagmi telah diperbarui menjadi 0.12.x
.
RainbowKit telah mengadopsi konektor WalletConnectLegacyConnector
di wagmi
untuk dukungan WalletConnect v1 yang berkelanjutan. Dukungan untuk WalletConnect v2 dan WalletConnectConnector
akan segera tersedia sebagai rilis patch, tanpa perubahan besar.
Dompet akan dialihkan secara otomatis dalam rilis di masa depan.
Setiap dApp sekarang harus menyediakan projectId
WalletConnect Cloud untuk mengaktifkan WalletConnect v2. Ini harus diselesaikan sebelum server jembatan WalletConnect v1 dimatikan pada 28 Juni 2023. RainbowKit akan diam-diam memilih v1 untuk semua dompet jika projectId
tidak ditentukan.
Ikuti langkah-langkah berikut untuk migrasi.
Setiap dApp yang bergantung pada WalletConnect sekarang harus memperoleh projectId
dari WalletConnect Cloud. Ini benar-benar gratis dan hanya membutuhkan beberapa menit.
Berikan projectId
ke getDefaultWallets
dan konektor dompet RainbowKit individu seperti berikut:
Ketergantungan sejawat wagmi telah diperbarui menjadi 0.11.x
.
Ikuti langkah-langkah berikut untuk migrasi.
Jika Anda menggunakan hook wagmi
di aplikasi Anda, Anda perlu memeriksa apakah aplikasi Anda telah dipengaruhi oleh perubahan besar pada wagmi
.
Anda dapat melihat panduan migrasi mereka di sini.
Ketergantungan sejawat wagmi telah diperbarui menjadi 0.10.x
.
Ikuti langkah-langkah berikut untuk migrasi.
Jika Anda menggunakan hook wagmi
di aplikasi Anda, Anda perlu memeriksa apakah aplikasi Anda telah dipengaruhi oleh perubahan besar pada wagmi
.
Anda dapat melihat panduan migrasi mereka di sini.
Ketergantungan sejawat wagmi telah diperbarui menjadi 0.9.x
.
Ikuti langkah-langkah berikut untuk migrasi.
Jika Anda menggunakan hook wagmi
di aplikasi Anda, Anda perlu memeriksa apakah aplikasi Anda telah dipengaruhi oleh perubahan besar pada wagmi
.
Anda dapat melihat panduan migrasi mereka di sini.
Ketergantungan sejawat wagmi telah diperbarui menjadi 0.8.x
.
Ikuti langkah-langkah berikut untuk migrasi.
Jika Anda menggunakan hook wagmi
di aplikasi Anda, Anda perlu memeriksa apakah aplikasi Anda telah dipengaruhi oleh perubahan besar pada wagmi
.
Anda dapat melihat panduan migrasi mereka di sini.
Jika Anda membuat daftar dompet kustom, sekarang Anda harus mengimpor setiap dompet secara individual untuk mengurangi ukuran bundle. Perhatikan bahwa karena dompet tidak lagi dipisahkan melalui objek wallet
, semua dompet sekarang memiliki akhiran Wallet
.
Juga perhatikan bahwa lapisan kompatibilitas ke belakang untuk Steakwallet telah dihapus. Omni harus digunakan sebagai gantinya.
RainbowKit telah memperbarui dependensi sejawat wagmi
ke 0.5.x
.
Ikuti langkah-langkah berikut untuk migrasi.
Perbarui RainbowKit dan wagmi ke versi terbaru mereka
Jika Anda menggunakan hook wagmi
di aplikasi Anda, Anda perlu memeriksa apakah aplikasi Anda telah dipengaruhi oleh perubahan besar pada wagmi
.
Anda dapat melihat panduan migrasi mereka di sini.
Menghapus parameter chainId
dari createConnector
pada tipe Wallet
.
Perhatikan bahwa semua dompet bawaan menggunakan API baru. Kebanyakan pengguna tidak akan terpengaruh. Perubahan ini hanya mempengaruhi pengguna yang telah membuat/mengkonsumsi dompet kustom.
Jika sebelumnya Anda mendapatkan URL RPC dari chainId
di createConnector
, sekarang Anda dapat menghapus logika tersebut karena wagmi
kini menangani URL RPC secara internal ketika digunakan dengan configureChains
.
RainbowKit telah memperbarui dependensi sejawat wagmi
menjadi ^0.4
.
Ikuti langkah-langkah berikut untuk migrasi.
Perbarui RainbowKit dan wagmi ke versi terbaru mereka
Impor configureChains
dari wagmi bukan dari RainbowKit:
RainbowKit tidak lagi mengekspor API apiProvider
. Gantikan dengan penyedia yang Anda inginkan dari wagmi.
Impor alchemyProvider
dari wagmi/providers/alchemy
.
Impor infuraProvider
dari wagmi/providers/infura
.
Impor jsonRpcProvider
dari wagmi/providers/jsonRpc
.
Impor publicProvider
dari wagmi/providers/public
.
Ubah nama WagmiProvider
menjadi WagmiConfig
.
Dan Anda selesai! 🌈