Contenido del curso

Primeros pasos en Ethereum

Compilar y desplegar contratos con Hardhat en Goerli

Resumen

Aprender a compilar y desplegar un contrato inteligente con Hardhat es el paso que conecta tu código Solidity con la blockchain real. Aquí descubres cómo generar el bytecode, lanzar el contrato a la red de pruebas de Goerli y verificar que todo quedó bien publicado, ideal si ya tienes tu proyecto listo y quieres llevarlo a producción de pruebas.

¿Qué significa compilar un contrato inteligente con Hardhat?

Compilar tu contrato traduce el código Solidity a bytecode, que es el lenguaje que la Ethereum Virtual Machine puede ejecutar. Sin este paso, la blockchain no entiende tu contrato.

En la terminal ejecutas el comando de compilación de Hardhat:

bash npx hardhat compile

Cuando ves el mensaje confirmando que un archivo de Solidity fue compilado, tu contrato está listo. Hardhat crea entonces una carpeta llamada artifacts dentro de tu proyecto.

¿Qué es el archivo counter.json y para qué sirve el ABI?

Dentro de artifacts encuentras un archivo como counter.json que contiene el ABI, o Application Binary Interface. Piensa en el ABI como la traducción de bajo nivel que necesitas para comunicarte con el contrato desplegado.

¿Qué es el ABI de un contrato inteligente? Es la interfaz binaria que describe las funciones del contrato y permite que tu aplicación las invoque. Funciona como una API, pero a nivel de bytecode.

¿Cómo desplegar un contrato inteligente en la red de Goerli?

Una vez compilado, despliegas el contrato ejecutando el script que dejaste preparado en la carpeta scripts. Hardhat te permite elegir la red destino con la bandera network.

bash npx hardhat run scripts/deploy.js --network goerli

Con Hardhat puedes desplegar en varios entornos:

  • La red interna de Hardhat para pruebas locales rápidas.
  • Redes de pruebas como Goerli, ideales para validar tu contrato sin gastar ETH real.
  • Redes de producción como Ethereum mainnet, cuando ya estás listo para usuarios reales.

Al ejecutar el script, la terminal imprime los datos que definiste y, al final, la dirección del contrato desplegado. Guarda esa dirección: la necesitas para conectar el contrato con tu front-end y llamar a sus funciones desde la aplicación web.

¿Cómo verificar el contrato desplegado en Goerli Etherscan?

Para confirmar que tu contrato vive en la blockchain, abre el explorador público de Goerli en tu navegador, entra a goerli.etherscan.io y pega la dirección del contrato en la caja de búsqueda.

Si ves la dirección con su información de despliegue, todo salió bien. Tu contrato ya está disponible en la red de pruebas y cualquiera puede inspeccionarlo.

¿Para qué sirve Goerli Etherscan? Es un explorador de bloques que te permite ver transacciones, contratos y direcciones desplegadas en la red de pruebas Goerli. Sirve para auditar y validar tu despliegue de forma pública.

¿Qué herramientas y conceptos clave usas en este flujo de despliegue?

Dominar este proceso implica entender varias piezas que trabajan juntas dentro del ecosistema de Ethereum.

  • Hardhat [00:30]: entorno de desarrollo que automatiza compilación, pruebas y despliegue de contratos.
  • Bytecode [00:45]: código de bajo nivel que ejecuta la Ethereum Virtual Machine.
  • Carpeta artifacts [01:05]: directorio que Hardhat genera tras compilar y donde guarda el ABI y el bytecode.
  • ABI [01:20]: interfaz binaria que conecta tu front-end con las funciones del contrato.
  • Script deploy.js [01:50]: archivo donde defines la lógica de despliegue del contrato.
  • Red Goerli [02:05]: testnet pública de Ethereum para pruebas sin costo real.
  • Dirección del contrato [02:30]: identificador único que te permite ubicar e interactuar con tu contrato en la blockchain.

Con el contrato compilado, desplegado en Goerli y verificado en Etherscan, ya tienes la base para conectarlo a una aplicación web. ¿Qué función te gustaría exponer primero desde el front-end? Cuéntalo en los comentarios.