¿Qué es HardHat?

Contenido del Bootcamp dirigido por:

qué es HardHat
¿Qué encontrarás en este post?

¿Sabes qué es HardHat? Se trata de una herramienta para desarrollar aplicaciones descentralizadas en la red Ethereum. Ofrece opciones flexibles y configurables para proyectos grandes y complejos. Los desarrolladores pueden compilar y desplegar sus contratos en blockchain local o en una testnet.

¿Qué es HardHat?

Podemos definir qué es HardHat como una herramienta para el desarrollo de contratos inteligentes o smart contracts en Ethereum. Con su flexibilidad y configuración, HardHat es una excelente opción para proyectos grandes y complejos. Su comunidad activa y soporte técnico hacen que sea fácil y efectivo para el desarrollo de contratos inteligentes. Además, cuenta con documentación completa, fácil de entender y seguir, así como con integraciones con proyectos populares de Ethereum, como ethers.js y Waffle.

En este entorno de desarrollo, se puede correr Solidity localmente, desplegar contratos, correr pruebas y depurar el código de Solidity sin tener que lidiar con entornos en vivo. HardHat también cuenta con una red local de Ethereum específicamente diseñada para el desarrollo, lo que permite que los desarrolladores prueben y mejoren sus aplicaciones sin preocuparse por la red principal.

Al ser extensible, los desarrolladores también pueden integrar herramientas existentes en la plataforma y agregar nuevas funcionalidades.

Configuración de HardHat

La configuración es un paso importante para entender qué es HardHat y poder usarlo en el desarrollo de aplicaciones descentralizadas en Ethereum.

Instalación de Node.js

Lo primero es instalar Node.js, un entorno de ejecución que permite correr aplicaciones desarrolladas en JavaScript. Puedes descargar la última versión de Node.js desde su sitio web oficial y seguir los pasos para instalarlo en tu sistema operativo.

Instalar HardHat

Una vez que tengas instalado Node.js, podrás instalar HardHat mediante el siguiente comando en tu terminal:

npm install --save-dev hardhat

Este comando descargará y configurará todos los paquetes necesarios para que puedas empezar a utilizar HardHat en tu proyecto.

Archivo de configuración

Para poder utilizar HardHat de manera efectiva, necesitarás configurar el archivo de configuración, que por defecto se llama hardhat.config.js. Este archivo es donde podrás definir todas las opciones para tu proyecto con HardHat, como las rutas a los contratos y las redes que deseas utilizar en tu proyecto.

Puedes crear el archivo directamente en la carpeta de tu proyecto utilizando el siguiente comando:

npx hardhat

Este comando te permitirá seleccionar la configuración de tu proyecto, elegir la red de desarrollo que deseas utilizar y crear el archivo de configuración personalizado.

En el archivo de configuración, podrás definir diferentes parámetros como:

  • La red que deseas utilizar para desplegar el contrato.
  • Las cuentas de Ethereum que utilizarás para desplegar el contrato.
  • Las rutas a los contratos y las pruebas que deseas utilizar.
  • Configuración del compilador de Solidity.
  • Integración con otras herramientas como Truffle, ethers.js y Waffle.

Con la configuración adecuada, estarás listo para empezar a desarrollar aplicaciones descentralizadas utilizando HardHat y Ethereum.

Crear un nuevo proyecto

Ahora que sabes qué es HardHat y cómo se instala, veamos los pasos a seguir para la creación de un nuevo proyecto.

Creación de carpeta de proyecto

Lo primero es crear una nueva carpeta de proyecto utilizando la herramienta de línea de comandos o el explorador de archivos. Aquí es donde guardarás todo el código fuente de tu proyecto. Asegúrate de nombrarla de manera adecuada para que sea fácil de identificar.

Creación de archivo de contrato

El siguiente paso es crear un archivo de contrato en la carpeta de proyecto. Puedes utilizar el editor de texto que prefieras para escribir tu contrato en lenguaje Solidity. Recuerda que es mejor que el nombre sea fácil de identificar.

Compilar los contratos

Cuando tengas tu archivo de contrato en la carpeta de proyecto, debes compilarlo para generar el bytecode correspondiente, que se ejecutará en la blockchain de Ethereum. Utiliza la herramienta de línea de comandos de HardHat para compilar tus contratos; esta acción generará un directorio «artifacts», en el que se incluirán los archivos compilados.

Desplegar contratos

Con tus contratos compilados, puedes desplegarlos en una red local o en una testnet utilizando HardHat. También puedes utilizar una wallet como Metamask y fondos de Kovan testnet para probar el despliegue. Hardhat te proporcionará los comandos necesarios para llevar a cabo esta tarea.

Interactuar con nuestros contratos en la red principal

Finalmente, una vez tengas tus contratos desplegados, puedes interactuar con ellos a través de la red principal de Ethereum. Esto te permitirá probar su funcionamiento y asegurarte de que tu contrato se comporta como se espera. Utiliza alguna de las herramientas de HardHat para interactuar con tus contratos y asegúrate de que todo funciona correctamente.

Integración de herramientas adicionales

Además de las características propias que ayudan a entender qué es HardHat, esta herramienta cuenta con integraciones con otros proyectos populares de Ethereum, como ethers.js y Waffle. Asimismo, también se puede usar con herramientas como Truffle.

Uso de Truffle y otras herramientas

Mientras que Truffle es un conjunto de herramientas para la implementación de aplicaciones descentralizadas (Dapps) en el blockchain de Ethereum, HardHat es un entorno de desarrollo que ayuda en la compilación y despliegue de smart contracts. Si bien ambas herramientas tienen funcionalidades similares, HardHat es más flexible y configurable para manejar proyectos más grandes y complejos.

La integración de Truffle y HardHat permite que los desarrolladores puedan usar cualquiera de las herramientas de una manera conjunta.

Integración con ethers.js y Waffle

Cuando se desarrollan aplicaciones descentralizadas, es necesario interactuar con el blockchain de Ethereum. Ethers.js es una biblioteca de JavaScript que brinda una API completa para interactuar con la blockchain. Esta biblioteca puede integrarse con HardHat para realizar tareas de desarrollo.

Waffle, por su parte, es una biblioteca de pruebas desarrollada para Solidity, que funciona perfectamente con HardHat. Waffle utiliza una sintaxis similar a Mocha y permite probar contratos de Solidity con una sintaxis fácil de leer y escribir.

Tanto la integración con ethers.js como con Waffle le brinda flexibilidad extra a HardHat, lo que lo hace más apto para el desarrollo de contratos inteligentes y aplicaciones descentralizadas complejas.

Descubre la tecnología blockchain

El blockchain es una tecnología en auge que, además, presenta grandes oportunidades laborales. Si te ha gustado aprender qué es HardHat y quieres aprender a dominar esta y muchas otras herramientas enfocadas en el ámbito blockchaain, no te pierdas el Blockchain y Criptoactivos Full Stack Bootcamp. Con esta formación íntegra e intensiva de alta calidad y la guía de nuestros profesores expertos, solo necesitarás unos pocos meses para conseguir los conocimientos teóricos y prácticos necesarios para triunfar en el mercado laboral IT. ¡Accede ahora para pedir más información e impulsa tu futuro!

¡CONVOCATORIA ABIERTA!

Blockchain y Criptoactivos

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado