Using Hardhat
Overview
This tutorial will teach you how to create, compile and deploy a smart contract on the DCC Testnet using Hardhat.
Hardhat is a development environment for Ethereum software. It consists of different components for editing, compiling, debugging, and deploying your smart contracts and dApps, all of which work together to create a complete development environment.
What you will do
Set up Hardhat
Create a simple smart contract
Compile contract
Test contract
Deploy contract
Setting up the development environment
There are a few technical requirements before we start.
Pre-requisites
There are a few technical requirements before we start, as listed below:
Node.js v10+ LTS and npm (comes with Node)
Once we have those installed, you need to create an npm project by going to an empty folder, running npm init --yes
, and following its instructions to install Hardhat. Once your project is ready, you should run the following:
To create your Hardhat project, run npx hardhat
in your project folder. Let’s create the sample project and follow these steps to try out a sample task and compile, test, and deploy the sample contract.
Note
The sample project used here comes from the Hardhat Quickstart guide, as well as its instructions.
Creating a project
In your project folder, run npx hardhat
to create a sample project. You should see the following prompt:
Choose the TypeScript project
and The following prompt should appear:
Checking the Contract
A sample contract in the contracts
folder is Lock.sol
, which consists of a simple digital lock that allows users to withdraw funds only after a certain time has passed.
Configure Hardhat for DCC
Go to
hardhat.config.ts
Create
.env
file in the root to store your private keyAdd DCC Explorer API key to
.env
file to verify the contract on DCC explorer. You can generate an API key by creating an account
Note
Use the DCC Explorer API key to verify the contract is only for DCC mainnet
NOTE
Note that the file above requires DOTENV, for managing environment variables and also ethers and etherscan. Make sure to install all those packages.
Find more instructions on how to use DOTENV on this page.
Your deployment contract account's private key is located in the .env
file.
Compiling the contract
To compile a Hardhat project, change to the root of the directory where the project is located and you first need to install Hardhat Toolbox:
And then run to compile:
Testing the Contract
To run tests with Hardhat, you need to type the following:
And this is an expected output:
Deploying on DCC
Run this command in the root of the project directory:
Note
If you want to deploy your smart contract to DCC Mainnet, at the Deploying stage, you need to use mainnet instead of testnet after --network
.
If you have enough amount of DCT you will see the sample output:
The contract will be deployed on DCC Testnet, and you can check the deployment status here: https://explorer-testnet.docoin.shop/
Congratulations! You have successfully deployed the Lock
Smart Contract. The Smart Contract is now available for interaction.
Besides, if you do not have the required amount of DCT, the output may look like this:
You can go to DCC Testnet Faucet to get more DCT for testing.
Last updated