# Quick Setup

### Hardhat – a tool for contract compilation and deployment

`Hardhat` is a development environment for Ethereum-compatible blockchains. It can automate, streamline and simplify repetitive tasks when building smart contracts and Dapps. It also provides developers with a built-in Hardhat network, a local Ethereum network specifically for deploying, testing, and debugging smart contracts

### Prepare the environment

#### Install Node.js

Hardhat is written in JavaScript. So we should make sure that Node.js (>=12.0) is installed.

* Ubuntu

```shell
sudo apt update
sudo apt install curl git
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt install nodejs
```

* MacOS

```shell
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.2/install.sh | bash
nvm install 12
nvm use 12
nvm alias default 12
npm install npm --global 
```

#### Install Hardhat

We can start installing Hardhat after the Node environment is ready.

```
npm install --save-dev hardhat
```
