Check out how it looks:
You can mint your NFT:
You can see the NFT you created:
You can put the NFT for auction:
You can explore all the NFT on auction:
Also, you can see the NFT you collected through auction on the page "collected".
If you are a bidder, you can bid for NFT, withdraw your money if there is a higher bid price, and as well as claim the NFT if you are the winner. For the case when no one bid for NFT, the owner can fetch the NFT after the auction.
All the information about the history of ownership of NFTs and the history of bids of auctions is displayed.
This project was developed with the following technologies:
- React
- Redux
- Web3.js
- Material UI
- IPFS API
- Solidity
- Truffle
- Ganache
- MetaMask
To run the application you'll need:
- Git
- Node
- Yarn or npm
- Truffle
- Ganache
- Metamask
- IPFS
- Clone the repository
- Go to the project folder
$ cd NFT-Auction-Market-main
- install the dependencies
$ yarn
If you are using the code file I emailed to TA, you will need to install @openzeppelin/contracts additionally.
$ npm install @openzeppelin/contracts
- Run the ganache and MetaMask. Make sure they use port 7545.
- Migrate and deploy the contracts
$ truffle migrate
- Run the ipfs. Make sure you have ipfs configured for cross-domain resource sharing. You can refer to this blog.
- Run the client
$ cd client
$ npm install
$ yarn start
There are some things to be done in the project: Since this project uses redux with hook style, but I am not familiar with it at the moment, I can't do the real-time update. Therefore, after each operation or account change, you need to go to the Explore page or a single NFT page for manual refresh.