Contenido del curso
Entendiendo la EVM
Herramientas de Solidity
Retiros y control de permisos
Interactuando con la Blockchain de Celo
Interactuando con Smart Contracts
- 16

Conectando React con Celo usando ContractKit
09:34 min - 17

Conectar Valora a contratos inteligentes con Wallet Connect
05:16 min - 18

Despliegue de Contratos Inteligentes en Testnet Alfajores con Remix
03:07 min - 19

Liberación arbitral con Celo ContractKit
04:30 min - 20

Firma de transacciones con WalletConnect y Valora
Viendo ahora
Sigue practicando
Firma de transacciones con WalletConnect y Valora
Resumen
Integrar WalletConnect con ContractKit te permite ofrecer una experiencia móvil para firmar transacciones de contratos inteligentes en Celo, sin depender de la Celo Wallet de escritorio. Esta guía muestra cómo aplicar WalletConnect a la función de liberación arbitral de un contrato, escaneando un código QR desde la billetera Valora.
¿Qué cambia al usar WalletConnect en lugar de ContractKit directo?
La lógica del contrato no cambia, pero sí la forma en que el árbitro firma la transacción. Antes, la conexión pasaba por la Celo Wallet del navegador. Ahora, el árbitro puede confirmar desde su teléfono móvil escaneando un QR.
¿Cómo se configura el provider y el ContractKit?
En el archivo del proyecto, dentro de Visual Studio Code, la función que hace la magia replica casi exactamente el ejemplo que ya viste de WalletConnect. Los elementos clave son:
- El provider configurado con las URL de la herramienta Forno, apuntando a la Testnet Alfajores o a la red productiva de Celo.
- La instancia del ContractKit, que esta vez actúa a través de WalletConnect en lugar de conectarse a una wallet local.
- La llamada a la transacción, idéntica a la versión anterior, con los mismos parámetros.
La única diferencia real está en cómo se establece la conexión con la billetera del firmante.
¿Qué es Forno? Es la herramienta de Celo que expone endpoints RPC públicos para conectar tu aplicación con la Testnet Alfajores o con la mainnet sin correr un nodo propio.
¿Cómo firma el árbitro la transacción desde su teléfono?
Al modificar la acción del botón en la interfaz web, en lugar de invocar la función que usaba ContractKit con la Celo Wallet, ahora se invoca la función que usa WalletConnect. El flujo desde el navegador es directo.
¿Qué pasa al hacer clic en el botón de liberación arbitral?
Al presionar el botón se levanta un código QR en pantalla. Ese QR se escanea con la billetera Valora en su versión de development, y desde ahí el árbitro confirma la transacción en el teléfono.
Los pasos son:
- Hacer clic en el botón de liberación arbitral en la web.
- Escanear el QR generado con Valora development.
- Confirmar la transacción desde el teléfono móvil.
- Esperar a que la red Alfajores procese la operación.
Es el mismo patrón que viste en el ejemplo previo de WalletConnect, ahora aplicado a un caso real con un contrato de escrow.
¿Qué es Valora? Es la billetera móvil del ecosistema Celo. La versión development se usa para probar contratos en redes de prueba como Alfajores antes de pasar a producción.
¿Cómo verificar que la transacción se ejecutó correctamente?
Una vez confirmada en el teléfono, la transacción queda registrada en la blockchain y puedes auditarla desde múltiples lugares.
¿Dónde compruebas la interacción del árbitro con el contrato?
En el explorador de bloques de Alfajores puedes ver la interacción entre el contrato inteligente y la wallet del árbitro. Para asegurarte de que todo coincide:
- Abre Valora y revisa la dirección de la wallet activa.
- Compárala con la dirección que aparece firmando en el explorador.
- Confirma que la transferencia de tokens correspondiente se ejecutó tras la confirmación del árbitro.
Esa transferencia es justamente la acción que dispara la liberación arbitral del contrato de escrow: cuando el árbitro firma, los fondos se mueven al destinatario que corresponde según la lógica del contrato.
Habilidades y conceptos clave que cubre esta integración
A lo largo del recorrido del proyecto consolidaste varias piezas técnicas que vale la pena nombrar con claridad.
- WalletConnect: protocolo que conecta dApps web con billeteras móviles vía QR, sin exponer la clave privada al navegador.
- ContractKit: SDK de Celo para interactuar con contratos inteligentes desde JavaScript, que aquí se inicializa apoyado en WalletConnect.
- Forno: gateway RPC para conectarse a Alfajores o a la red productiva de Celo.
- Testnet Alfajores: red de pruebas de Celo donde se valida el flujo antes de producción.
- Valora development: versión de pruebas de la billetera móvil para escanear el QR y firmar.
- Liberación arbitral: método del contrato que ejecuta la transferencia de tokens cuando el árbitro aprueba la operación.
Con esto cierras la parte teórica y práctica del curso: aprendiste a escribir un contrato inteligente, desplegarlo en una red de Celo e interactuar con él tanto desde una interfaz web como desde un teléfono móvil. ¿Cuál vas a ser el primer caso de uso que vas a llevar a producción? Cuéntalo en los comentarios.