This tutorial and course series covers an introduction to the hardhat framework

What is a hardhat?

Hardhat is a javascript Ethereum development environment for developing full-stack blockchain applications.

Hardhat helps blockchain developers to easy and automate the tasks of development and deployment of smart contracts, dapps to local Ethereum networks.

It provides a development environment for

  • Compile smart contract
  • deploy the contract to the Ethereum network
  • debug and test contracts.

Hardhat also has support built local hardhat network which provides compile, deploy and test contract locally without deploying to production code.

Prerequisite

The following technical skills or language tools are required to work on a hardhat

  • Javascript or typescript code
  • Git for managing source code repository
  • Nodejs Environment
  • Metamask

Hardhat Advantages

  • Helps developers to test the solidity contract to deploy and test in the local Ethereum network
  • It provides debugging to find out such as stack trace, logging, and error
  • This framework is customizable and extendable to add extra features
  • Supports typescript to have typed language support for catching an error during compile time.
  • Opensource and community support
  • Easy integration and extendable with plugins

Hardhat Disadvantages

  • Learning curve exists for the non-javascript developer as Basic knowledge of nodejs environment how package runs

Hardhat Compilation Process

hardhat provides tasks to compile, test and deploy the contract.

compile task compiles solidity code to machine code as described below

                                    --- ABI
                                    |
Solidity code > Solidity Compiler --|
                                    |
                                    ---- MachineByte Code -- Ethereum Blockchain