How raja-vardhan/fabric-auction-simple works
Fabric Auction Simple is a React-based blind-auction application backed by a Node.js API and Hyperledger Fabric chaincode. A participant creates an auction, bidders create private bids and submit hashes, the seller closes bidding, owners reveal bids, and the seller ends the auction after organizations agree on a winner and clearing price. The UI polls auction state and supports seat switching. README capabilities clarify privacy and endorsement behavior; some server and chaincode internals were not sampled, so uncertain internal links are omitted.
Main entry points: App.tsx Auction board · bid.go Bid operations · client.ts API client · index.js HTTP routes
Components 21
Auction interface
- Auction board
auction-application/auction-ui/src/App.tsx - Seat context
auction-application/auction-ui/src/state/SeatContext.tsx - Auction polling
auction-application/auction-ui/src/hooks/useAuction.ts - Auction-list polling
auction-application/auction-ui/src/hooks/useAuctions.ts - Action state
auction-application/auction-ui/src/hooks/useAction.ts - Auction controls
auction-application/auction-ui/src/components/PlayerSeat.tsx - Public ledger view
auction-application/auction-ui/src/components/PublicLedger.tsx - Lifecycle display
auction-application/auction-ui/src/components/LifecycleStepper.tsx
Application API
- API client
auction-application/auction-ui/src/api/client.ts - HTTP routes
auction-application/server/index.js - Fabric adapter
auction-application/server/fabric.js - Seat roster
auction-application/server/seats.js
Fabric contract
- Chaincode runtime
auction-chaincode/main.go - Auction contract
auction-chaincode/contract/auction-contract.go - Auction operations
auction-chaincode/contract/auction.go - Bid operations
auction-chaincode/contract/bid.go - Contract utilities
auction-chaincode/contract/utils.go
Auction state
- Channel ledger
- Organization private data
Other components
- Participant
- Fabric network
Connections 24
- Participant → Auction board: uses
- Auction board → Seat context: reads seat
- Auction board → Auction polling: polls state
- Auction board → Auction-list polling: polls list
- Auction board → Auction controls: renders controls
- Auction board → Public ledger view: renders ledger
- Auction board → Lifecycle display: renders status
- Auction controls → Action state: runs actions
- Auction polling → API client: fetches auction
- Auction-list polling → API client: fetches list
- Seat context → API client: loads seats
- API client → HTTP routes: HTTP requests
- HTTP routes → Fabric adapter: calls operations
- HTTP routes → Seat roster: reads roster
- Fabric adapter → Fabric network: connects to
- Fabric network → Chaincode runtime: executes chaincode
- Chaincode runtime → Auction contract: starts contract
- Auction contract → Auction operations: handles auctions
- Auction contract → Bid operations: handles bids
- Auction operations → Contract utilities: uses helpers
- Bid operations → Contract utilities: uses helpers
- Auction operations → Channel ledger: reads and writes
- Bid operations → Channel ledger: records bid hashes
- Bid operations → Organization private data: stores and verifies bids