Hardhat
Deploying Smart Contract Using Hardhat
In this article, we'll learn how to build a smart contract with Hardhat.
Preparation
Before you start, make sure that the following prerequisites are installed.
Node.js and npm
Hardhat
Project Setting
Create a new directory for your project and navigate to it.
Run the following command to initialize a new npm project.
npm init -y
Run the following command to install Hardhat.
npm install --save-dev hardhat
Run the following command and follow the prompts to initialize Hardhat.
npx hardhat
Writing Smart Contract
In the
contracts
directory, create a solidity file named MyContract.sol.Create a file as shown below.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract MyContract {
// Contract code goes here...
}
Deploying Smart Contract
Create a new file called
deploy.js
in thescripts
directory.Write a deployment script using Hardhat's deployment API.
const { ethers } = require("hardhat");
async function main() {
const MyContract = await ethers.getContractFactory("MyContract");
const myContract = await MyContract.deploy();
await myContract.deployed();
console.log("MyContract deployed to:", myContract.address);
}
main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});
Run the following command to run the deployment script.
Set the network name to deploy to.
npx hardhat run scripts/deploy.js --network <network-name>
This script deploys a smart contract and writes the contract address to the console.
Wrapping Up
You've successfully deployed a smart contract using Hardhat. Now you can call the deployed contract using its address.
For more information, visit Hardhat's official website.