Deploy a contract using Hardhat

What is Hardhat?

Hardhat is an automatic task builder for Ethereum-based blockchains. With its abundant features it can help developers to manage and automate repetitive tasks in building smart contracts and Dapps.

Hardhat has a built-in network called Hardhat Network. It is a local Ethereum network for developers to deploy, test, and debug contracts.

Prepare the environment

Install Node.js

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

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

Contract deployment

Download

Clone the repository from GitHub

git clone git@github.com:relationlabs/relation-sbt.git

Prepare the compilation environment

npm install --save-dev hardhat

Compile the contract

cd relation-sbt
npm install
npx hardhat compile

Deploy the contract

We can deploy the contract on different environment by specifying the parameter “network”, which can be set to localhost, testnet or mainnet environment.

npx hardhat run scripts/deploy.js --network {$network}

Last updated