Panduan Migrasi
Migrasi RainbowKit
Ketergantungan peer wagmi dan viem telah mencapai 2.x.x dengan perubahan mendasar.
Ikuti langkah-langkah di bawah ini untuk melakukan migrasi.
1. Tingkatkan RainbowKit, wagmi, dan viem ke versi terbaru mereka
2. Pasang ketergantungan sejawat @tanstack/react-query
Dengan Wagmi v2, TanStack Query sekarang menjadi ketergantungan peer yang diperlukan.
Instal dengan perintah berikut:
3. Tingkatkan konfigurasi RainbowKit dan Wagmi Anda
4. Periksa perubahan signifikan di wagmi dan viem
Jika Anda menggunakan hooks wagmi dan aksi viem dalam dApp Anda, Anda perlu mengikuti panduan migrasi untuk v2:
1. Peningkatan perilaku untuk dompet EIP-6963
Dompet yang mendukung standar koneksi baru EIP-6963 (termasuk Rainbow, MetaMask, dan lainnya) kini akan otomatis muncul di bagian Terpasang selama pengalaman Sambung Dompet. Ini memastikan bahwa pengguna selalu dapat menemukan dompet favorit mereka dan terhubung ke dApps tanpa konflik atau tombol cadangan.
Pengembang tetap memiliki kontrol penuh atas Daftar Dompet Kustom untuk menekankan preferensi dompet untuk pengguna akhir. Dihimbau 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 createConfig Wagmi secara langsung. 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 melewati konektor Dompet yang diimpor atau Kustom ke wallets. Menginisialisasi konektor dompet dan melewati projectId dan chains tidak lagi diperlukan.
3. RainbowKitProvider
Anda tidak perlu lagi menambahkan chains ke <RainbowKitProvider>.
4. Rantai Kustom
Tipe Chain telah berubah sesuai dengan Wagmi v2, dan terus mendukung metadata iconUrl dan iconBackground RainbowKit.
Contoh dengan getDefaultConfig:
Contoh dengan createConfig:
5. Dompet Kustom
Konektor dompet RainbowKit telah mengalami perubahan besar untuk mendukung Wagmi v2. Referensi dokumentasi terbaru dan contoh konektor dapat dilihat di sini untuk meningkatkan Konector Dompet Kustom dalam dApp Anda.
Konektor dompet sekarang juga mendukung standar EIP-6963 dengan properti rdns. Pastikan ini terisi untuk mencegah referensi ganda ke dompet pendukung EIP-6963 dalam daftar dompet Anda.
Ketergantungan sejawat wagmi telah diperbarui ke 1.x.x.
Ikuti langkah-langkah di bawah ini untuk melakukan migrasi.
1. Tingkatkan RainbowKit dan wagmi ke versi terbaru mereka
2. Pasang ketergantungan sejawat viem
wagmi v1 memerlukan ketergantungan sejawat viem. Pasang dengan perintah berikut:
3. Pastikan kompatibilitas bundler dan polyfill
Referensi sampel konfigurasi Next.js Webpack Config kami untuk mendapatkan panduan konfigurasi proyek Anda.
Panduan kerangka kerja tambahan untuk Vite dan Remix tersedia di sini.
4. Periksa perubahan signifikan di wagmi
Jika Anda menggunakan hook wagmi dalam aplikasi Anda, Anda harus mengikuti panduan migrasi wagmi ke v1.
Anda dapat melihat panduan migrasi mereka di sini.
Ketergantungan sejawat wagmi telah diperbarui ke 0.12.x.
RainbowKit telah mengadopsi konektor WalletConnectLegacyConnector di wagmi untuk mendukung WalletConnect v1 secara berkelanjutan. Dukungan untuk WalletConnect v2 dan WalletConnectConnector akan segera tersedia sebagai rilis patch, tanpa perubahan signifikan.
Dompet akan ditransisikan secara otomatis pada rilis di masa depan.
Setiap dApp sekarang harus menyediakan projectId WalletConnect Cloud untuk mengaktifkan WalletConnect v2. Ini harus diselesaikan sebelum server jembatan WalletConnect v1 ditutup pada 28 Juni 2023. RainbowKit secara diam-diam lebih memilih v1 untuk semua dompet jika projectId tidak ditentukan.
Ikuti langkah-langkah di bawah ini untuk melakukan migrasi.
Setiap dApp yang bergantung pada WalletConnect sekarang perlu memperoleh projectId dari WalletConnect Cloud. Ini sepenuhnya gratis dan hanya membutuhkan beberapa menit.
Berikan projectId ke getDefaultWallets dan konektor dompet RainbowKit individu seperti berikut:
Ketergantungan sejawat wagmi telah diperbarui ke 0.11.x.
Ikuti langkah-langkah di bawah ini untuk melakukan migrasi.
Jika Anda menggunakan hook wagmi dalam aplikasi Anda, Anda harus memeriksa apakah aplikasi Anda terpengaruh oleh perubahan signifikan di wagmi.
Anda dapat melihat panduan migrasi mereka di sini.
Ketergantungan sejawat wagmi telah diperbarui ke 0.10.x.
Ikuti langkah-langkah di bawah ini untuk melakukan migrasi.
Jika Anda menggunakan hook wagmi dalam aplikasi Anda, Anda harus memeriksa apakah aplikasi Anda terpengaruh oleh perubahan signifikan di wagmi.
Anda dapat melihat panduan migrasi mereka di sini.
Ketergantungan sejawat wagmi telah diperbarui ke 0.9.x.
Ikuti langkah-langkah di bawah ini untuk melakukan migrasi.
Jika Anda menggunakan hook wagmi dalam aplikasi Anda, Anda harus memeriksa apakah aplikasi Anda terpengaruh oleh perubahan signifikan di wagmi.
Anda dapat melihat panduan migrasi mereka di sini.
Ketergantungan sejawat wagmi telah diperbarui ke 0.8.x.
Ikuti langkah-langkah di bawah ini untuk melakukan migrasi.
Jika Anda menggunakan hook wagmi dalam aplikasi Anda, Anda harus memeriksa apakah aplikasi Anda terpengaruh oleh perubahan signifikan di wagmi.
Anda dapat melihat panduan migrasi mereka di sini.
Jika Anda membuat daftar dompet kustom, Anda harus mengimpor setiap dompet secara terpisah untuk mengurangi ukuran bundel. Harap diperhatikan bahwa dompet tidak lagi menggunakan nama ruang wallet, semua dompet sekarang memiliki akhiran Wallet.
Harap juga dicatat bahwa lapisan kompatibilitas mundur Steakwallet telah dihapus. Omni harus digunakan sebagai gantinya.
RainbowKit telah memperbarui ketergantungan sejawat wagmi ke 0.5.x.
Ikuti langkah-langkah di bawah ini untuk melakukan migrasi.
Tingkatkan RainbowKit dan wagmi ke versi terbaru mereka
Jika Anda menggunakan hook wagmi dalam aplikasi Anda, Anda harus memeriksa apakah aplikasi Anda terpengaruh oleh perubahan signifikan di wagmi.
Anda dapat melihat panduan migrasi mereka di sini.
Parameter chainId telah dihapus dari createConnector pada tipe Wallet.
Perhatikan bahwa semua dompet bawaan menggunakan API baru. Kebanyakan konsumen tidak akan terpengaruh. Perubahan ini hanya berdampak pada konsumen yang telah membuat/menggunakan dompet kustom.
Jika Anda sebelumnya mendapatkan URL RPC dari chainId di createConnector, Anda sekarang dapat menghapus logika tersebut karena wagmi sekarang menangani URL RPC secara internal ketika digunakan dengan configureChains.
RainbowKit telah memperbarui ketergantungan sejawat wagmi ke ^0.4.
Ikuti langkah-langkah di bawah ini untuk melakukan migrasi.
Tingkatkan RainbowKit dan wagmi ke versi terbaru mereka
Impor configureChains dari wagmi bukan dari RainbowKit:
RainbowKit tidak lagi mengekspor API apiProvider. Gantilah dengan penyedia yang diinginkan 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.
Ganti nama WagmiProvider menjadi WagmiConfig.
Dan Anda sudah selesai! 🌈