This project aims to develop a decentralized marketplace for trading Non-Fungible Tokens (NFTs). NFTs represent unique digital assets, such as digital art, collectibles, and virtual real estate, and are typically traded on blockchain platforms. The marketplace provides a platform for users to create, buy, sell, and trade NFTs securely and transparently.
- Solidity: Solidity is a high-level programming language used for writing smart contracts on the Ethereum blockchain.
- Javascript (React & Testing): React is a popular JavaScript library for building user interfaces. It is used here for the frontend development of the marketplace. Testing frameworks are also implemented in JavaScript.
- Ethers: Ethers is a JavaScript library used for interacting with the Ethereum blockchain. It provides a simple and efficient way to interact with smart contracts.
- Hardhat: Hardhat is a development environment for Ethereum projects. It facilitates tasks such as compiling, deploying, testing, and debugging smart contracts.
- IPFS: IPFS (InterPlanetary File System) is a decentralized storage protocol used for storing metadata associated with NFTs. It ensures data integrity and availability without relying on a central server.
- React Router: React Router is a library used for routing in React applications. It enables navigation between different components of the frontend application.
To set up and run the NFT marketplace locally, follow these steps:
Clone or download the project repository from the source.
Navigate to the project directory and install the required dependencies using npm:
$ cd nft_marketplace
$ npm install
Start a local Ethereum blockchain for development using Hardhat:
$ cd nft_marketplace
$ npx hardhat node
- Copy the private keys of the generated accounts from the local blockchain and import them into MetaMask.
- Connect MetaMask to the Hardhat blockchain network (127.0.0.1:8545).
Deploy the smart contracts to the local blockchain:
$ npx hardhat run src/backend/scripts/deploy.js --network localhost
Execute tests to ensure the functionality of smart contracts:
$ npx hardhat test
Start the frontend application:
$ npm run start
This project is licensed under the MIT License, which permits commercial use, modification, distribution, and private use.
For more details, refer to the LICENSE file included in the repository.
The NFT marketplace provides a comprehensive environment for trading unique digital assets securely and efficiently. By leveraging blockchain technology and decentralized storage, it ensures transparency, immutability, and accessibility for users worldwide.