A complete NFT minting platform built with React, Ethereum smart contracts, and IPFS storage via Pinata. This platform allows users to create, upload, and mint ERC-721 NFTs with metadata stored on IPFS.
Contract Address: 0x71C7b5ba984A5f1011c1196a56a8130A8DB40e5E
Network: Sepolia Testnet
Etherscan: View on Sepolia Etherscan
Collection: AbayNFT (ABY)
- ERC-721 Smart Contract - Built with OpenZeppelin v5 for security and standards compliance
- IPFS Storage - Metadata and images stored on IPFS via Pinata
- React Frontend - Modern, responsive UI for minting NFTs
- Enhanced MetaMask Integration - Robust wallet connection with error handling
- Real-time Stats - Live contract information and minting progress
- Attribute Support - Add custom traits and properties to NFTs
- Node.js (v16 or higher)
- npm or yarn
- MetaMask browser extension
- Pinata account for IPFS storage
git clone https://github.com/lijnati/NFT-Minting-Platform.git
cd NFT-Minting-Platform
# Install main project dependencies
npm install
# Install frontend dependencies
cd frontend
npm install
-
Add Sepolia Network to MetaMask:
- Network Name: Sepolia Test Network
- RPC URL: https://sepolia.infura.io/v3/
- Chain ID: 11155111
- Currency Symbol: ETH
- Block Explorer: https://sepolia.etherscan.io
-
Get Sepolia Test ETH:
cd frontend
npm start
The React app will open at http://localhost:3000
and connect to the live contract on Sepolia.
Create a .env
file in the project root:
# Deployment Configuration
PRIVATE_KEY=your_metamask_private_key
SEPOLIA_URL=https://sepolia.infura.io/v3/your_project_id
ETHERSCAN_API_KEY=your_etherscan_api_key
Update frontend/.env
with your Pinata credentials:
REACT_APP_PINATA_API_KEY=your_api_key
REACT_APP_PINATA_SECRET_KEY=your_secret_key
REACT_APP_PINATA_JWT=your_jwt_token
REACT_APP_NETWORK_NAME=sepolia
REACT_APP_NETWORK_ID=11155111
# Compile contracts
npm run compile
# Deploy to Sepolia testnet
npm run deploy:sepolia
For local blockchain development:
# Start Hardhat local network
npx hardhat node
# Deploy to local network (in another terminal)
npx hardhat run scripts/deploy.js --network localhost
🚀 Live on Sepolia: 0x71C7b5ba984A5f1011c1196a56a8130A8DB40e5E