Guía de Migración
Migrando RainbowKit
Las dependencias wagmi y viem ahora han alcanzado la versión 2.x.x con cambios disruptivos.
Sigue los pasos a continuación para migrar.
1. Actualiza RainbowKit, wagmi, y viem a sus últimas versiones
2. Instalar la dependencia @tanstack/react-query
Con Wagmi v2, TanStack Query es ahora una dependencia necesaria.
Instálalo con el siguiente comando:
3. Actualiza tus configuraciones de RainbowKit y Wagmi
4. Verifica los cambios significativos en wagmi y viem
Si utilizas hooks de wagmi y acciones de viem en tu dApp, necesitarás seguir las guías de migración para v2:
1. Comportamiento mejorado para billeteras EIP-6963
Las billeteras que soportan el nuevo estándar de conexión EIP-6963 (incluyendo Rainbow, MetaMask y más) ahora aparecerán automáticamente en una sección Instalado durante la experiencia de Conectar Billetera, asegurando que los usuarios siempre puedan encontrar sus billeteras favoritas y conectarse a las dApps sin conflictos o botones de respaldo.
Los desarrolladores continúan teniendo control total sobre la Lista de Billeteras Personalizadas para enfatizar billeteras preferidas por los usuarios finales. Se recomienda continuar incluyendo injectedWallet y walletConnectWallet en su lista para soportar todas las plataformas.
2. Configuración de Wagmi con getDefaultConfig
Esta nueva API simplifica la experiencia de configuración y reemplaza la necesidad de usar createConfig de Wagmi directamente. La configuración de cadenas se simplifica, incluyendo proveedores públicos inferidos para transports.
La lista de billeteras predeterminada se incluirá automáticamente, relegando la necesidad de usar getDefaultWallets y connectorsForWallets.
Puedes crear una Lista de Billeteras Personalizadas pasando conectores de billetera importados o personalizados a wallets. Ya no es necesario instanciar conectores de billetera y pasar projectId y chains.
3. RainbowKitProvider
Ya no necesitas pasar chains a <RainbowKitProvider>.
4. Cadenas Personalizadas
El tipo Chain ha cambiado de acuerdo con Wagmi v2 y continúa soportando los metadatos iconUrl e iconBackground de RainbowKit.
Ejemplo con getDefaultConfig:
Ejemplo con createConfig:
5. Billeteras Personalizadas
Los conectores de billetera RainbowKit han sufrido cambios sustanciales para soportar Wagmi v2. Consulta los documentos actualizados y un conector de ejemplo para actualizar cualquier conector de billetera personalizado en tu dApp.
Los conectores de billetera ahora también soportan el estándar EIP-6963 con la propiedad rdns. Asegúrate de que esto esté poblado para prevenir referencias duplicadas a billeteras que soportan EIP-6963 en tu lista de billeteras.
La dependencia wagmi ha sido actualizada a 1.x.x.
Sigue los pasos a continuación para migrar.
1. Actualiza RainbowKit y wagmi a su última versión
2. Instalar la dependencia viem
wagmi v1 requiere la dependencia viem. Instálalo con el siguiente comando:
3. Asegura la compatibilidad con el empaquetador y polifill
Consulta nuestra muestra de configuración de Next.js Webpack para orientación en la configuración de tu proyecto.
Guías adicionales de framework para Vite y Remix están disponibles aquí.
4. Verifica los cambios significativos en wagmi
Si usas hooks de wagmi en tu aplicación, deberás seguir la guía de migración a v1 de wagmi.
Puedes ver su guía de migración aquí.
La dependencia wagmi ha sido actualizada a 0.12.x.
RainbowKit ha adoptado el conector WalletConnectLegacyConnector en wagmi para continuar con el soporte de WalletConnect v1. El soporte para WalletConnect v2 y WalletConnectConnector estará disponible pronto como una versión de corrección, sin cambios significativos.
Las billeteras serán actualizadas automáticamente en futuros lanzamientos.
Cada dApp debe ahora proporcionar un projectId de WalletConnect Cloud para habilitar WalletConnect v2. Esto debe completarse antes de que los servidores puente de WalletConnect v1 se cierren el 28 de junio de 2023. RainbowKit preferirá discretamente la v1 para todas las billeteras si projectId no está especificado.
Sigue los pasos a continuación para migrar.
Cada dApp que dependa de WalletConnect ahora necesita obtener un projectId de WalletConnect Cloud. Esto es completamente gratis y solo lleva unos minutos.
Proporcione el projectId a getDefaultWallets y conectores de billetera individual RainbowKit de la siguiente manera:
La dependencia wagmi ha sido actualizada a 0.11.x.
Sigue los pasos a continuación para migrar.
Si usas hooks de wagmi en tu aplicación, necesitarás verificar si tu aplicación ha sido afectada por los cambios significativos en wagmi.
Puedes ver su guía de migración aquí.
La dependencia wagmi ha sido actualizada a 0.10.x.
Sigue los pasos a continuación para migrar.
Si usas hooks de wagmi en tu aplicación, necesitarás verificar si tu aplicación ha sido afectada por los cambios significativos en wagmi.
Puedes ver su guía de migración aquí.
La dependencia wagmi ha sido actualizada a 0.9.x.
Sigue los pasos a continuación para migrar.
Si usas hooks de wagmi en tu aplicación, necesitarás verificar si tu aplicación ha sido afectada por los cambios significativos en wagmi.
Puedes ver su guía de migración aquí.
La dependencia wagmi ha sido actualizada a 0.8.x.
Sigue los pasos a continuación para migrar.
Si usas hooks de wagmi en tu aplicación, necesitarás verificar si tu aplicación ha sido afectada por los cambios significativos en wagmi.
Puedes ver su guía de migración aquí.
Si estás creando una lista de billeteras personalizadas, ahora debes importar cada billetera individualmente para reducir el tamaño del paquete. Tenga en cuenta que, dado que las billeteras ya no están bajo el objeto wallet, todas las billeteras ahora tienen un sufijo Wallet.
Tenga en cuenta también que la capa de compatibilidad con versiones anteriores para Steakwallet ha sido eliminada. Omni debería ser utilizada en su lugar.
RainbowKit ha actualizado la dependencia wagmi a 0.5.x.
Sigue los pasos a continuación para migrar.
Actualiza RainbowKit y wagmi a su última versión
Si usas hooks de wagmi en tu aplicación, necesitarás verificar si tu aplicación ha sido afectada por los cambios significativos en wagmi.
Puedes ver su guía de migración aquí.
Se eliminó el parámetro chainId de createConnector en el tipo Wallet.
Tenga en cuenta que todas las billeteras incorporadas están utilizando la nueva API. La mayoría de los consumidores no se verán afectados. Este cambio solo afecta a los consumidores que han creado/consumido billeteras personalizadas.
Si previamente derivó URLs de RPC desde chainId en createConnector, ahora puede eliminar esa lógica ya que wagmi ahora maneja URLs de RPC internamente cuando se usa con configureChains.
RainbowKit ha actualizado la dependencia wagmi a ^0.4.
Sigue los pasos a continuación para migrar.
Actualiza RainbowKit y wagmi a su última versión
Importar configureChains desde wagmi en lugar de RainbowKit:
RainbowKit ya no exporta un API apiProvider. Reemplázalo con tu proveedor deseado desde wagmi.
Importar alchemyProvider desde wagmi/providers/alchemy.
Importar infuraProvider desde wagmi/providers/infura.
Importar jsonRpcProvider desde wagmi/providers/jsonRpc.
Importar publicProvider desde wagmi/providers/public.
Renombrar WagmiProvider a WagmiConfig.
¡Y eso es todo! 🌈