🚀 En lo que estoy trabajando ahora:
una app de pagos onchain con Web3 y React
Últimamente he estado completamente sumergido en el desarrollo de una aplicación que une dos mundos que me apasionan: las interfaces modernas con React y el ecosistema blockchain. Se trata de una plataforma de compras onchain que permite a los usuarios realizar pagos con tokens como USDT
, USDC
, ETH
o LINK
directamente desde su wallet.
El núcleo de la app gira en torno a ofrecer una experiencia de compra Web3 fluida, segura y eficiente, donde los usuarios pueden conectar su wallet, seleccionar productos de un catálogo, y finalizar el pago directamente en la blockchain. Todo el proceso incluye validaciones de stock, firma de mensajes para autenticación, emisión y verificación de eventos en smart contracts, y una gestión robusta del carrito y las transacciones.
Estoy utilizando tecnologías como:
- React y Chakra UI para el frontend.
- wagmi para la integración con wallets y contratos inteligentes.
- Django como backend y API, con una base de datos relacional para registrar transacciones y carritos.
- Smart Contracts en Solidity desplegados en testnet (por ahora).
Uno de los principales desafíos ha sido gestionar correctamente los estados asincrónicos entre la interfaz de usuario, la blockchain y el backend. Esto incluye casos como cuando un usuario inicia un pago pero abandona la página antes de que la transacción se confirme. Para ello, he diseñado una estrategia que registra la transacción anticipadamente en el backend y luego la actualiza con el hash real de blockchain una vez que se emite el evento correspondiente desde el contrato inteligente.
Además, estoy trabajando en mejorar la experiencia de autenticación del usuario con su wallet mediante firma de mensajes, JWT y control de sesión con refresh tokens.
Es un proyecto ambicioso, pero extremadamente enriquecedor. Estoy aprendiendo muchísimo sobre seguridad, validación criptográfica, sincronización con eventos onchain y la importancia de manejar cada caso límite. Poco a poco, esta app se va consolidando como un producto sólido y preparado para un entorno de producción Web3.