NFTVerse is a decentralized application for minting NFTs on the Polygon network. It leverages Solidity smart contracts, Hardhat for development, Node.js/Express.js for backend, and IPFS (via Pinata or NFT.Storage) for decentralized storage.
🛠️ Tech Stack
- Solidity + Hardhat
- Node.js + Express.js
- HTML, CSS, JavaScript
- Ethers.js
- IPFS (Pinata or NFT.Storage)
- Polygon
⚙️ Setup Instructions
-
Clone the repo
git clone https://github.com/shubham-kumr/nftverse.git cd nftverse
-
Install Dependencies
npm install
-
Configure Environment
Create a
.env
file with:PRIVATE_KEY=your_wallet_private_key RPC_URL=https://polygon-mainnet.g.alchemy.com/v2/API-KEY
Important: Never share your
.env
file or commit it to version control. -
Compile the Contract
npx hardhat compile
-
Deploy
npx hardhat run scripts/deploy.js --network [network-name]
🔗 URI Creation via Pinata
-
Upload the Image
- Go to your Pinata dashboard.
- Upload your NFT image (e.g.,
my-nft.png
). - Copy the resulting CID (Content Identifier).
-
Create Metadata JSON Create a
metadata.json
file:{ "name": "Bootcamp Attendance NFT", "description": "This NFT certifies participation in the SHARP Blockchain Bootcamp", "image": "ipfs://<IMAGE_CID>", "attributes": [ { "trait_type": "Attendee", "value": "Your Name" }, { "trait_type": "Batch", "value": "April 2025" } ] }
🌐 Tools & Links
📸 Sample Output
Once minted, your NFT will appear on OpenSea:
https://opensea.io/assets/matic/0x176875001b4aa9b6fe1439bbe7aea0dc61223190/0
🚀 Happy Building, and welcome to Web3!