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
03:06 min
Sigue practicando
Desplegar contratos con Hardhat en Alfajores
Resumen
Desplegar un contrato inteligente con Hardhat te permite automatizar el proceso completo desde la línea de comandos, sin repetir pasos manuales cada vez que quieras publicar código en una blockchain. Aquí verás cómo configurar la herramienta, conectar tu billetera y lanzar el contrato a la testnet Alfajores de Celo, paso a paso.
¿Qué necesitas antes de instalar Hardhat?
Antes de tocar el editor, asegúrate de tener listo el entorno base. Hardhat corre sobre Node.js, así que la instalación previa es obligatoria.
- Node.js instalado en tu sistema operativo.
- NPM, el gestor de paquetes que viene con Node.
- La secuencia de instalación específica de Hardhat, disponible en los recursos del curso.
La secuencia exacta puede variar según uses Mac, Windows o Ubuntu, y según los paquetes que ya tengas. Si te trabas, los cursos de Node.js en Platzi resuelven la mayoría de bloqueos. [1:00]
¿Qué es Hardhat? Es una herramienta automatizada que despliega contratos inteligentes por código. La programas una vez y reutilizas el mismo flujo cada vez que necesites publicar.
¿Cómo se configura el archivo hardhat.config?
Una vez instalado, Hardhat crea una estructura con cuatro elementos clave: la carpeta Contracts con un contrato de ejemplo, la carpeta Scripts con un script de instalación, la carpeta Test y el archivo hardhat.config.
El archivo de configuración es el corazón de tu despliegue. Dentro de la sección Networks tienes que declarar tres parámetros para conectar con Alfajores:
- La URL de la red, apuntando a la testnet Alfajores a través de Forno.
- El chain ID de Alfajores, que es 44787.
- La llave privada de la billetera que pagará el gas del despliegue.
Esa billetera es la que cubre el costo de publicar el contrato en la red, así que necesita fondos de prueba. Y aquí va una advertencia que no es opcional: la llave privada se guarda en secreto. Si alguien la consigue, esa persona toma el control de tus fondos. Configura todo desde tu computador en condiciones seguras. [2:30]
¿Qué hace el script de despliegue?
Dentro de la carpeta Scripts viene un archivo de ejemplo escrito en Node.js. Ese script crea una referencia al contrato manejado por Hardhat y ejecuta la instrucción de deploy, que le dice al contrato dónde publicarse.
La red destino se lee desde hardhat.config, así que el script no necesita saber detalles de la testnet: solo invoca el deploy y Hardhat se encarga del resto. Si tienes tu propio contrato, modificas estas instrucciones para que apunten al archivo correcto dentro de Contracts.
¿Cómo ejecutar el despliegue desde la terminal?
Con todo configurado, abres la terminal de tu sistema. En Mac usas Terminal, en Windows PowerShell y en Ubuntu el terminal nativo. El comando que dispara el proceso es:
bash npx hardhat run scripts/sample-script.js --network alfajores
Esta instrucción le indica a Hardhat que corra el script de ejemplo y publique el contrato en la testnet definida. Después de unos segundos, que pueden variar según la congestión de la red, la consola devuelve el address donde quedó instalado el contrato. [4:15]
¿Cómo verifico que el contrato se desplegó correctamente? Copia el address que devuelve Hardhat, pégalo en el explorador de bloques de Alfajores y confirma que aparece publicado por la billetera configurada en hardhat.config.
Si entras al explorador de bloques con ese address, verás el contrato publicado y la billetera que lo desplegó coincidirá con la que cargaste en el archivo de configuración. Esa trazabilidad es parte del valor de trabajar con herramientas automatizadas.
¿Por qué conviene automatizar despliegues con Hardhat?
Cuando un proyecto crece, rara vez instalas un solo contrato. Normalmente despliegas dos, tres o más, cada uno con sus propios parámetros de inicialización y dependencias entre ellos.
- Puedes escribir scripts que instalen varios contratos en secuencia.
- Pasar parámetros de inicialización sin tocar el código del contrato.
- Ejecutar baterías de pruebas automatizadas antes del deploy.
- Extender funcionalidades con el sistema de plugins de Hardhat.
Hacer esto a mano es lento y propenso a errores. Con Hardhat tienes el flujo guardado en código, listo para ejecutarse en cualquier red que configures. Después de este paso, el siguiente movimiento natural es conectar tu contrato a una interfaz gráfica usando Contract Kit.
¿Qué contrato vas a desplegar primero en Alfajores? Cuéntalo en los comentarios.