Steps to Set Up

Setting Up the Development Environment

1. Initialize the Project

Create a new directory for your project and initialize it with npm:

mkdir MySolidityProject
cd MySolidityProject
npm init -y

This will generate a package.json file for managing dependencies and scripts.

2. Install Solidity and Hardhat Dependencies

Hardhat is a powerful development environment for compiling, deploying, and testing Ethereum smart contracts. Install Hardhat along with ethers.js for interacting with Ethereum, and the necessary plugins:

npm install --save-dev hardhat @nomiclabs/hardhat-ethers ethers

This command installs:

  • Hardhat: For development, testing, and deployment.

  • ethers.js: A library for interacting with Ethereum.

  • @nomiclabs/hardhat-ethers: A plugin that integrates Hardhat with ethers.js.

3. Create the Hardhat Configuration

Run Hardhat’s initialization command to generate the basic configuration and project files:

You will be prompted to select a task. Choose Create a basic sample project or Create an advanced project, depending on your needs. This will generate:

  • hardhat.config.js: Your Hardhat configuration file.

  • Sample contract, test, and script files.

4. Set Up the Folder Structure

5. Creating a Sample Solidity Contract

Inside the contracts/ folder, create a simple Solidity contract, e.g., MyContract.sol:

6. Creating a Deployment Script

In the scripts/ folder, create a deployment script (deploy.js):

7. Running the Deployment

To compile and deploy your contract locally:

  1. Start a local Ethereum node using Hardhat:

  2. Deploy your contract:

This will deploy your contract to a local test network.

8. Setting Up a Test File

In the test/ folder, create a test script (test.js) using Hardhat's testing framework and ethers.js:

9. Running the Tests

To run your tests:

10. Hardhat Network Configuration (Optional for Testnets)

To deploy on a real test network , configure your hardhat.config.js: