Curso 6: Producción, DeFi y Futuro | Módulo 5 de 12

Frontend Web3: ethers.js, wagmi, RainbowKit

Conecta tu dApp a wallets y lee datos on-chain desde el frontend

Wallet Connect ethers.js
Piénsalo así: Conectar una dApp a una wallet es como poner una puerta giratoria en tu tienda — los clientes entran con su propia llave (wallet) y tú les reconoces al instante. No necesitas registrar usuarios ni contraseñas.

Objetivos de este módulo

Intuición

El frontend Web3 usa bibliotecas como ethers.js y wagmi para conectar wallets (MetaMask, WalletConnect), leer datos de contratos (balances, estados) y firmar transacciones. RainbowKit ofrece UI de conexión con múltiples wallets.

Paso a paso

1. El usuario hace clic en "Conectar Wallet". 2. RainbowKit muestra opciones de wallet. 3. Usuario elige y firma. 4. La dApp obtiene la dirección y puede leer datos. 5. Para enviar TX, el usuario firma con su wallet.

Ejemplo concreto

RainbowKit + wagmi: useAccount() da la dirección y estado de conexión. useBalance() lee el saldo. ethers.js provider.getBalance(address) lee ETH de una dirección. signer.sendTransaction() envía una TX.

Error común

No usar provider.estimateGas() antes de enviar una transacción. El gas estimado evita fallos y optimiza costos. Otro error: no manejar el cambio de red (chain ID) del usuario.

Relevancia actual

wagmi + RainbowKit son el stack más popular para dApps en 2026. ethers.js v6+ es el estándar para interacción con EVM. La experiencia de conexión Web3 es crítica para adopción.

Conexión

El frontend Web3 se conecta con dashboards (06) para visualizar datos, cross-chain (07) para puentes, y automatización (09) para keepers.

Cómo construir un frontend Web3

1
Configura wagmi + RainbowKit

Instala dependencias y configura provider, chains, y connectors.

2
Implementa conexión de wallet

Usa useConnect y useAccount para manejar el estado de conexión.

3
Lee datos on-chain

useBalance, useContractRead, provider.getBalance.

4
Simula interacciones

Prueba conectar, leer balance y enviar TX en el simulador.

5
Responde el quiz

2 de 3 correctas = insignia de Frontend Developer.

Simular Conexión (wagmi)

const { address, isConnected } = useAccount()
0x... (wallet no conectada)

Leer Balance (ethers.js)

const balance = await provider.getBalance(address)
-- ETH

Enviar Transacción

const tx = await signer.sendTransaction({ to, value })
Esperando acción...
Haz clic en "Conectar Wallet" para simular una conexión Web3 y explorar las funciones básicas.

Mini Quiz: Frontend Web3

Resumen del módulo