¡Aprende a leer datos en cadena de una blockchain a otra utilizando solicitudes GET de Hyperbridge!
En este tutorial, Roy de Polytope Labs muestra cómo:
✅ Convertir un contrato de Solidity en una HyperApp
✅ Enviar solicitudes GET para leer saldos ERC20 en Ethereum Sepolia
✅ Recibir y manejar respuestas entre cadenas de forma segura
✅ Calcular espacios de almacenamiento utilizando el SDK de Hyperbridge
✅ Probar tu contrato en testnets con auto-reenvío
Hyperbridge permite lecturas entre cadenas minimizando la confianza sin puentes, oráculos o intermediarios centralizados. Perfecto para DeFi, juegos, gobernanza y aplicaciones multichain.
Herramientas utilizadas:
- Solidity + Foundry
- SDK de Hyperbridge
- Contratos de OpenZeppelin
🔗 Recursos y enlaces:
Notas de Roy, el desarrollador:
1. Este video tutorial muestra lo fácil que puedes determinar el espacio de almacenamiento para los datos que deseas, utilizando las funciones auxiliares del sdk de Hyperbridge.
Pero en producción, es posible que debas generar dinámicamente el espacio objetivo de tu contrato de destino en la cadena de destino, en tu contrato fuente. Esto es muy común, por ejemplo, revisa cómo determinamos el espacio de compromiso en el contrato de Intent Gateway.
2. No necesitas auto-reenviar en las mainnets que soportamos. Este video solo demuestra cómo puedes auto-reenviar cuando estás en la fase de prueba de tus contratos.
3. Trata el compromiso devuelto como tu ID de solicitud. Usa la utilidad hash() de la biblioteca Message en GetRequest para recomputar el compromiso de una respuesta entrante y emparejarlo con tus consultas pendientes.
Tiempos / Capítulos a continuación para que puedas saltar a la sección que necesitas.
0:00 - Introducción: Qué cubre este tutorial
0:06 - Resumen de solicitudes GET entre cadenas
0:30 - Configuración del proyecto: Foundry + Módulos de Node
1:05 - Instalación de dependencias (núcleo de Hyperbridge, árbol de Merkle, OpenZeppelin)
2:08 - Configurando Foundry para usar node_modules
2:58 - Esqueleto del contrato y comienzo de la codificación
3:04 - Convertir un contrato en una HyperApp
3:36 - Sobrescribiendo la función host()
4:10 - Constructor y asignación de host
4:18 - Aprobando el token de tarifa para Hyperbridge
5:21 - Funcionalidad principal: solicitudes GET
5:49 - Definiendo la función queryTokenBalance
6:04 - Entendiendo el compromiso
6:39 - Construyendo DispatchGet: destino, altura, claves
9:08 - Configurando tiempo de espera, tarifas, contexto
10:41 - Enviando solicitud GET a través del host
12:02 - Opcional: Pagar tarifas a través del token nativo
12:48 - Eventos para despacho y respuesta
13:57 - Mapeos de almacenamiento para compromisos pendientes
15:07 - Devolviendo el compromiso y marcando como pendiente
15:40 - Implementando onGetResponse
16:42 - Comprobaciones de seguridad y decodificación de valores de almacenamiento
19:48 - Marcando la solicitud como completa
20:42 - Función auxiliar para leer valores almacenados
20:47 - Resumen: pasos clave para solicitudes GET
22:03 - Construyendo el espacio de almacenamiento para el saldo ERC20
24:23 - Usando el SDK de Hyperbridge para obtener altura y espacio
25:59 - Ejecutando pruebas y usando indexador
28:02 - Flujo de trabajo de auto-reenvío en testnet
29:00 - Consejos finales y repositorio de ejemplo
#Hyperbridge #Solidity #CrossChain #Web3 #Blockchain #Ethereum #SmartContracts #DeFi #NFTs