Automatizar el despliegue de contratos inteligentes es una práctica esencial para cualquier desarrollador blockchain que busque eficiencia y repetibilidad. Hardhat es la herramienta que permite programar este proceso una sola vez y ejecutarlo cuantas veces sea necesario, eliminando pasos manuales y reduciendo errores. A continuación se explican los pasos fundamentales para configurar y ejecutar un deploy utilizando esta poderosa herramienta.
¿Qué requisitos necesitas para usar Hardhat?
Antes de comenzar, es indispensable contar con Node.js y el gestor de paquetes npm instalados en tu computador [00:22]. Estos dos componentes son la base sobre la que Hardhat funciona. La secuencia exacta de instalación puede variar ligeramente dependiendo del sistema operativo que utilices, ya sea Mac, Windows con PowerShell o Ubuntu.
Una vez instalado Hardhat, el proyecto genera automáticamente una estructura de carpetas clave:
- contracts: contiene los contratos inteligentes, incluyendo uno de ejemplo.
- scripts: almacena los programas de despliegue.
- test: destinada a las pruebas automatizadas.
- hardhat.config: archivo de configuración central del proyecto.
¿Cómo se configura el archivo hardhat.config?
El archivo hardhat.config es el corazón de la configuración [01:12]. Dentro de la sección networks se deben definir tres parámetros fundamentales para conectarse a la red donde se desplegará el contrato:
- URL de la red: en este caso apunta a la testnet alfajores a través de Forno.
- Chain ID: el identificador de la testnet alfajores es
44787 [01:30].
- Llave privada: corresponde a la billetera que pagará el gas del despliegue.
La llave privada es un dato extremadamente sensible. Quien tenga acceso a ella puede tomar control total de los fondos asociados a esa billetera. Por eso, este proceso debe realizarse desde un computador seguro y nunca compartir esa clave [01:50].
¿Qué hace el script de despliegue?
El archivo conocido como sample script es el encargado de ejecutar la instalación del contrato [02:05]. Está escrito en Node.js y lo que hace internamente es crear una referencia a los contratos compilados por Hardhat. Luego, mediante la instrucción de deploy, le indica al contrato que se despliegue en la testnet configurada en hardhat.config.
Si necesitas instalar tu propio contrato, solo debes modificar las instrucciones dentro de este script para que apunten al contrato correcto y ejecuten los parámetros de inicialización que requieras.
¿Cómo se ejecuta el despliegue desde la terminal?
Desde la línea de comando se utiliza la instrucción:
bash
npx hardhat run scripts/sample-script.js --network alfajores
Este comando le indica a Hardhat que ejecute el script de despliegue contra la red configurada [03:00]. Tras unos segundos, dependiendo de la congestión de la red, Hardhat devuelve el address del contrato desplegado.
¿Cómo verificar que el contrato fue desplegado correctamente?
Una vez obtenida la dirección del contrato, puedes dirigirte al explorador de bloques de la testnet alfajores [03:25]. Allí confirmarás que:
- El contrato aparece registrado en la dirección proporcionada.
- Fue desplegado por la billetera cuya llave privada configuraste en
hardhat.config.
Esta verificación en el explorador de bloques es una buena práctica que garantiza transparencia sobre quién desplegó el contrato y en qué momento.
Hardhat no se limita al despliegue simple. Permite crear scripts mucho más extensos que instalen múltiples contratos inteligentes en una sola ejecución [03:38]. También ofrece funcionalidades avanzadas como baterías de pruebas automatizadas, deployments complejos y un sistema de plugins que amplía sus capacidades.
Cuando un proyecto involucra varios contratos inteligentes interconectados, contar con una herramienta automatizada como Hardhat marca una diferencia enorme en confiabilidad y tranquilidad durante el proceso. Si quieres profundizar, la documentación oficial de Hardhat detalla cada una de estas funcionalidades. ¿Ya has probado desplegar tu primer contrato con Hardhat? Comparte tu experiencia en los comentarios.