No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Despliegue de Contratos Inteligentes con Hardhat y Node.js

15/21
Recursos

¿Cómo desplegar un contrato inteligente con Hard Hat?

Desplegar contratos inteligentes en la blockchain puede parecer un desafío, pero con la herramienta adecuada, este proceso se simplifica notablemente. Hard Hat es una herramienta automatizada ideal para esta tarea, permitiéndonos configurarla una sola vez y repetir el proceso cuantas veces sea necesario. Vamos a explorar cómo configurar Hard Hat, entender su funcionamiento básico y cómo podemos desplegar contratos en una testnet de manera segura y eficiente.

¿Qué necesitamos para empezar con Hard Hat?

Para utilizar Hard Hat, necesitarás tener instalado Node.js y su gestor de paquetes npm. Estas herramientas básicas te permitirán acceder y ejecutar las instrucciones específicas necesarias para instalar Hard Hat en tu sistema. La instalación de Node.js puede variar ligeramente según tu sistema operativo y los paquetes instalados. Si surgen dudas, existen cursos específicos en Platzi sobre el uso de Node.js que podrían ser útiles.

¿Qué estructura tiene el proyecto de Hard Hat?

Al instalar Hard Hat, se crea una estructura de carpetas y archivos esenciales para trabajar con contratos inteligentes:

  • Contracts: Carpeta que contiene un contrato de ejemplo.
  • Scripts: Carpeta con un programa de instalación de ejemplo.
  • Test: Sección relevante para pruebas.
  • Hardhat.config: Archivo esencial para la configuración de redes.

¿Cómo configuramos el archivo hardhat.config?

El archivo hardhat.config es crítico para configurar las redes a las que queremos desplegar los contratos. Debemos añadir tres parámetros importantes:

  1. URL de la red: Por ejemplo, apuntando a la testnet Alfajores a través de forno.
  2. Chain ID: El identificador de la testnet Alfajores, que es 44787.
  3. Llave privada: Obtenida de tu billetera, usada para pagar el gas necesario para el despliegue del contrato.

Es crucial mantener esta llave en secreto y en condiciones seguras, ya que un acceso no autorizado podría comprometer tus fondos.

¿Cómo usar el Sample Script de instalación?

El script de instalación, ubicado en la carpeta scripts, facilita el proceso de despliegue al ejecutar contratos dentro de la carpeta contracts. Está escrito en Node.js y permite que Hard Hat maneje el despliegue de manera eficiente en la testnet especificada en hardhat.config.

¿Cómo ejecutamos el despliegue desde la terminal?

Para ejecutar el despliegue, utilizamos una instrucción en la línea de comandos. En un Mac, esto se hace desde el terminal, pero los usuarios de Windows pueden utilizar PowerShell o el terminal en Ubuntu. La instrucción es:

npx hardhat run

Este comando ejecutará el script de ejemplo que instalará el contrato inteligente en la testnet definida. La duración del despliegue puede variar de acuerdo a la congestión de la red.

¿Qué hacer después del despliegue?

Una vez desplegado, Hard Hat proporciona la dirección (address) donde se encuentra el contrato. Esta información se puede verificar en el explorador de bloques, confirmando así que el contrato fue efectivamente instalado desde la billetera configurada en hardhat.config. Adicionalmente, la documentación de Hard Hat nos abre un mundo de posibilidades, permitiéndonos:

  • Crear scripts más complejos para múltiples contratos.
  • Realizar pruebas automatizadas.
  • Realizar despliegues más sofisticados.

¿Cuál es el siguiente paso?

Después de dominar Hard Hat, el siguiente paso es aprender a integrar una interfaz gráfica a nuestros contratos inteligentes utilizando Contract Kit. Esto nos permitirá interactuar de manera visual y efectiva con nuestras aplicaciones descentralizadas, ampliando aún más nuestras capacidades como desarrolladores en el mundo blockchain. ¡Continúa explorando y aprendiendo para dominar cada vez más herramientas en este fascinante campo!

Aportes 2

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Código para configurar la conexión con en hardhat.config.js

module.exports = {
  solidity: {
    "version": "0.8.6",
    settings: {
      optimizer: {
        enabled: true,
        runs: 200
      }  
    }  
  }, 
  networks: {
    Alfajores_TestNet: {
      url: "https://alfajores-forno.celo-testnet.org",
      chainId: 44787,
      accounts: ['secret_key'] // viene de la configuración de la billetera
    }  
  }  
};

Debe estar instalado node.js y npm

npm init
npm install --save-dev hardhat
npm install @nomiclabs/hardhat-etherscan
npx hardhat
npx hardhat run script/sample-script.js --network alfajores