Welcome to the NFT Marketplace project, a decentralized marketplace for NFTs built with Hardhat, Ether, Solidity, Next.js, IPFS, and The Graph.
This repository contains the smart contracts, frontend application, and deployment scripts for a decentralized NFT marketplace. It supports the creation, buying, selling, and trading of NFTs securely on the Ethereum blockchain.
- Smart Contracts: Implemented using Solidity, with Hardhat for development and testing.
- Frontend Application: Built with Next.js, providing a responsive and interactive user interface.
- IPFS Integration: Store and retrieve NFT metadata securely using IPFS.
- Event Listening: Utilized The Graph for efficient event indexing and querying.
- Test NFT Token: Included example ERC721 token for testing purposes.
-
Clone the repository:
git clone <repository_url> cd contracts
-
Install dependencies:
npm install
-
Compile contracts:
npx hardhat compile
-
Run tests:
npx hardhat test
-
Navigate to the frontend directory:
cd ../frontend
-
Install dependencies:
npm install
-
Set environment variables:
-
Create a
.env.local
file in the frontend directory. -
Add the following variables:
NEXT_PUBLIC_API_URL=<backend_api_url>
-
No need to add env if page is hosted on ipfs
-
-
Run the frontend app:
npm run dev
-
Access the app at:
- Smart Contracts: Solidity, Hardhat
- Frontend: Next.js
- Blockchain: Ethereum
- Storage: IPFS
- Event Indexing: The Graph
This project is licensed under the MIT License. See the LICENSE file for details.