Bird
Raised Fist0
Blockchain / Solidityprogramming~10 mins

Development tools setup (Hardhat, Remix) in Blockchain / Solidity

Choose your learning style10 modes available
Introduction

We use development tools like Hardhat and Remix to write, test, and deploy smart contracts easily. They help us build blockchain apps faster and with fewer mistakes.

When you want to write smart contracts in Solidity and test them locally.
When you need a simple online editor to quickly try out smart contract code.
When you want to simulate blockchain networks on your computer before deploying.
When you want to debug and see detailed error messages for your contracts.
When you want to deploy contracts to test networks or the real blockchain.
Syntax
Blockchain / Solidity
Hardhat setup:
1. npm init -y
2. npm install --save-dev hardhat
3. npx hardhat

Remix usage:
- Open https://remix.ethereum.org in your browser
- Create or open Solidity files
- Compile and deploy contracts using the interface

Hardhat is a local tool you install on your computer using Node.js and npm.

Remix is a web-based tool that runs in your browser without installation.

Examples
This sets up a new Hardhat project in your folder.
Blockchain / Solidity
npm init -y
npm install --save-dev hardhat
npx hardhat
This is a simple smart contract you can write and test in Remix.
Blockchain / Solidity
// In Remix, create a new file MyContract.sol
pragma solidity ^0.8.0;

contract MyContract {
    uint public value;
    function setValue(uint _value) public {
        value = _value;
    }
}
Sample Program

This Hardhat script deploys a simple contract that stores a number. It shows how to write a contract and deploy it using Hardhat.

Blockchain / Solidity
/* Hardhat sample: deploy a simple contract */
// contracts/SimpleStorage.sol
pragma solidity ^0.8.0;

contract SimpleStorage {
    uint public data;
    function setData(uint _data) public {
        data = _data;
    }
}

// scripts/deploy.js
async function main() {
    const [deployer] = await ethers.getSigners();
    console.log('Deploying contracts with the account:', deployer.address);

    const SimpleStorage = await ethers.getContractFactory('SimpleStorage');
    const simpleStorage = await SimpleStorage.deploy();

    await simpleStorage.deployed();
    console.log('SimpleStorage deployed to:', simpleStorage.address);
}

main().catch((error) => {
    console.error(error);
    process.exitCode = 1;
});
OutputSuccess
Important Notes

Hardhat requires Node.js and npm installed on your computer.

Remix is great for beginners because it needs no setup and runs in the browser.

Always test your contracts on test networks before using real money.

Summary

Hardhat and Remix help you write and test smart contracts easily.

Hardhat runs locally and is good for bigger projects.

Remix runs in the browser and is great for quick experiments.

Practice

(1/5)
1. Which of the following best describes Hardhat in blockchain development?
easy
A. A hardware device to store private keys securely
B. A local development environment to write and test smart contracts
C. An online marketplace for buying cryptocurrencies
D. A blockchain explorer to view transactions

Solution

  1. Step 1: Understand Hardhat's purpose

    Hardhat is designed as a local tool to help developers write, test, and deploy smart contracts easily on their computer.
  2. Step 2: Compare options with Hardhat's role

    Options A, B, and D describe other blockchain tools or devices, not Hardhat.
  3. Final Answer:

    A local development environment to write and test smart contracts -> Option B
  4. Quick Check:

    Hardhat = Local development tool [OK]
Hint: Hardhat runs locally for coding and testing smart contracts [OK]
Common Mistakes:
  • Confusing Hardhat with hardware wallets
  • Thinking Hardhat is an online platform
  • Mixing Hardhat with blockchain explorers
2. Which command correctly initializes a new Hardhat project in your terminal?
easy
A. npx hardhat
B. npx hardhat init
C. hardhat start
D. hardhat create project

Solution

  1. Step 1: Recall Hardhat initialization command

    The standard way to start a Hardhat project is by running npx hardhat which launches the setup wizard.
  2. Step 2: Evaluate other options

    Options A, B, and C are not valid Hardhat commands for project initialization.
  3. Final Answer:

    npx hardhat -> Option A
  4. Quick Check:

    Initialize Hardhat with 'npx hardhat' [OK]
Hint: Use 'npx hardhat' to start a new project setup [OK]
Common Mistakes:
  • Using 'hardhat create project' which is invalid
  • Trying 'hardhat start' instead of 'npx hardhat'
  • Using 'npx hardhat init' which is not a valid command
3. What will be the output when you run this Hardhat command in a new project folder?
npx hardhat compile
medium
A. Starts a local blockchain node
B. Throws an error: command not found
C. Deletes all compiled files
D. Compiles smart contracts and shows success message

Solution

  1. Step 1: Understand the 'compile' command in Hardhat

    The command npx hardhat compile compiles all smart contracts in the project and outputs success or error messages.
  2. Step 2: Check other options

    Throws an error: command not found is wrong because the command exists. Deletes all compiled files is incorrect as it does not delete files. Starts a local blockchain node is for running nodes, not compiling.
  3. Final Answer:

    Compiles smart contracts and shows success message -> Option D
  4. Quick Check:

    'npx hardhat compile' compiles contracts [OK]
Hint: Compile contracts with 'npx hardhat compile' to check code [OK]
Common Mistakes:
  • Expecting 'compile' to start blockchain node
  • Thinking 'compile' deletes files
  • Assuming command is invalid without setup
4. You tried to deploy a contract using Hardhat but got this error:
Error: Cannot find module '@nomiclabs/hardhat-ethers'
What is the most likely fix?
medium
A. Install the missing plugin with npm install --save-dev @nomiclabs/hardhat-ethers
B. Restart your computer
C. Delete the node_modules folder without reinstalling
D. Run npx hardhat compile again

Solution

  1. Step 1: Identify the missing module error

    The error says the plugin '@nomiclabs/hardhat-ethers' is missing, meaning it is not installed in the project.
  2. Step 2: Fix by installing the missing plugin

    Running npm install --save-dev @nomiclabs/hardhat-ethers adds the plugin so Hardhat can use it.
  3. Final Answer:

    Install the missing plugin with npm install --save-dev @nomiclabs/hardhat-ethers -> Option A
  4. Quick Check:

    Missing module error = install plugin [OK]
Hint: Install missing packages with npm to fix module errors [OK]
Common Mistakes:
  • Restarting computer without installing packages
  • Deleting node_modules without reinstalling
  • Running compile without fixing dependencies
5. You want to quickly test a simple smart contract without installing anything locally. Which tool should you use and why?
hard
A. Use Hardhat because it runs in the browser without installation
B. Use a hardware wallet to write contracts securely
C. Use Remix because it is an online editor that requires no local setup
D. Use a blockchain explorer to deploy contracts

Solution

  1. Step 1: Identify tools for quick testing without local setup

    Remix is an online IDE that lets you write, compile, and deploy contracts directly in the browser.
  2. Step 2: Compare with other options

    Hardhat requires local installation, hardware wallets store keys but don't write contracts, and blockchain explorers only view data.
  3. Final Answer:

    Use Remix because it is an online editor that requires no local setup -> Option C
  4. Quick Check:

    Quick test without install = Remix online editor [OK]
Hint: Remix runs in browser, no install needed for quick tests [OK]
Common Mistakes:
  • Thinking Hardhat runs in browser without install
  • Confusing hardware wallets with development tools
  • Trying to deploy contracts via blockchain explorers
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard