India-built AI & blockchain engineering since 2017 · Serving clients worldwide

blog

Getting Started with NFTs – A Step-by-Step Guide to Minting Your First NFT

Getting Started with NFTs – A Step-by-Step Guide to Minting Your First NFT

Afzal Khan

19 August, 2025

Ethereum NFT Logo

NFTs (Non-Fungible Tokens) have taken the world by storm, revolutionizing
digital art, gaming, and ownership of unique digital assets. In this guide,
we’ll walk you through creating and minting your very first NFT on the Ethereum blockchain.

Why Learn About NFTs?

NFTs allow creators and developers to represent ownership of unique digital items—like artwork,
music, in-game assets, or collectibles—on the blockchain. By learning how to mint NFTs,
you gain the ability to create and launch your own digital assets in the growing Web3 ecosystem.

Step-by-Step Guide to Minting Your First NFT

1. Set Up Your Project

Start by creating a new project folder and installing Hardhat:

mkdir my-first-nft
cd my-first-nft
npm init -y
npm install --save-dev hardhat @openzeppelin/contracts

Initialize Hardhat:

npx hardhat

and select “Create a basic sample project”.

2. Write an NFT Smart Contract

Inside the contracts folder, create MyNFT.sol:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract MyNFT is ERC721, Ownable {
    uint public tokenCounter;

    constructor() ERC721("MyNFT", "MNFT") {
        tokenCounter = 0;
    }

    function mintNFT(address recipient) public onlyOwner returns (uint256) {
        tokenCounter += 1;
        uint256 newItemId = tokenCounter;
        _safeMint(recipient, newItemId);
        return newItemId;
    }
}

This contract lets you mint unique NFTs and assign them to addresses.

3. Compile and Deploy

Compile the contract:

npx hardhat compile

Then update scripts/deploy.js:

async function main() {
  const NFT = await ethers.getContractFactory("MyNFT");
  const nft = await NFT.deploy();
  await nft.deployed();
  console.log("NFT Contract deployed at:", nft.address);
}

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

Run the deployment locally:

npx hardhat run scripts/deploy.js --network localhost

4. Mint Your First NFT

Open Hardhat console:

npx hardhat console --network localhost

Inside the console:

const nft = await ethers.getContractAt("MyNFT", "DEPLOYED_CONTRACT_ADDRESS");
await nft.mintNFT("YOUR_WALLET_ADDRESS");

You’ve just minted your first NFT! 🎉

How This Helps You

By minting an NFT, you’ve learned how ownership and uniqueness are represented on the blockchain.
From here, you can add metadata, images, or even build a marketplace to trade your NFTs.
This foundation prepares you to dive into NFT collections, marketplaces, and gaming assets.

Conclusion

NFTs are more than digital art—they’re a powerful way to represent ownership in the digital world.
With just a few steps, you created and minted your first NFT. As you grow, you can experiment with metadata,
IPFS storage, and even full NFT collections. The NFT journey is only just beginning—yours starts now.

Share this article

Leave a Reply

Your email address will not be published. Required fields are marked *

Keep reading

Related articles

Have an AI idea or a product to build? Let’s talk.

Tell us what you are building. A solutions architect will respond within one business day with next steps and a no-obligation estimate.

  • Free 30-minute consultation
  • NDA on request, before we talk details
  • Estimate within 3–5 business days
WhatsAppTelegramCall

Tell us what you want to build

A solutions architect replies within one business day. NDA on request.

We reply within one business day. Your details stay confidential.