This is a decentralized app used for simulating an auction house.
The app contains functionalities for:
- Creating auction
- Participating in active auctions
- Place private bids and reveal them after bidding time closes
- Closing the auction by the organizer
- Confirming the bids placed and declaring the winner
- Delivering the item to the winner with confirmation
There are 4 types of auctions supported:
- Market listing: A normal listing which remains public and active till the organizer closes the auction. The winner is the highest bidder.
- Blind Auction: A type of sealed bid auction where the bids are private and the winner is the highest bidder.
- Vickrey Auction: A type of sealed bid auction where the bids are private. The winner is the highest bidder but the price paid is the second-highest bid.
- Average Price Auction: A type of sealed bid auction where the bids are private. The winner is the highest bidder but the price paid is the average of all bids.
The auctions are conducted through smart-contracts written in Solidity and Metamask is used for client side communication.
To run the react app:
$ cd client
$ npm install
$ npm start
To start the truffle development server (smart-contracts):
$ truffle develop
$ truffle compile
$ truffle migrate