NFT Suits is a game centered around collectible unique items that are used to create one-of-a-kind avatars where the uniqueness is guaranteed by ERC721 protocol. No items can bereplicated, taken away, or destroyed, since the proof of ownerships are stored on Ethereum blockchain. In order to see the items and interact with the marketplace, user has to installMetaMask extension to her/his browser. Then, by connecting his/her wallet; the user can buy, bid on, offer items for auction and sell the items via the marketplace. As tree requiredand complementary pieces are purchased and worn, an avatar is created and displayed to the community.
Client: React, Recoil, Material UI
Contract: Solidity
Dev Tools: Ganache, Truffle, Remix, Docker
Static Smart Contract Analysis: Securify 2.0, Slither
Testing: Mocha
- Set a username
- Withdraw her/his balance
- Create an avatar with the items that (s)he owns by wearing
- Save the item and display it in the avatars page
- List his/her items with certain filtering options
- See his/her statistics
- Sell her/his item for a fixed price
- Cancel sale for his/her item
- Buy an item
- Create an auction for his/her item
- Cancel an auction for his/her item
- Accept the highest bid
- Bid on an item
- Withdraw his/her bid
- Wear his/her item under some condition
- Unwear his/her item under some condition
- List all of the items with certain filtering options
## in project directory, i.e. cd project
docker-compose -f docker-compose.dev.yml up
To run tests, run the following command
## make sure ganache is running
cd truffle
truffle test
Feel free to create an issue to discuss more.