Smart contract based receipt verification system on chain built for small inperson fiat transactions
The system implements a complete receipt lifecycle workflow where customers initiate requests, vendors approve or reject them, and all transactions are recorded on the blockchaine. Built with Solidity 0.8.20, OpenZeppelin security patterns, and Hardhat development environment, it provides role-based access control, reentrancy protection. The React frontend integrates Web3.js for seamless blockchain interaction, offering real-time status updates and transparent audit trails for both customers and businesses.
Smart Contract Layer:
Solidity 0.8.20 with OpenZeppelin contracts for security foundations Ownable pattern for contract administration and business registration ReentrancyGuard to prevent reentrancy attacks during receipt operations Custom modifiers (onlyExistingReceipt, onlyReceiptParties) for access control
Development Infrastructure:
Hardhat for development, testing, and deployment automation Chai + Mocha testing framework with comprehensive edge case coverage Gas optimization through efficient storage patterns and batch operations
Frontend Architecture:
React 18 with functional components and hooks React Router for SPA navigation between customer/business portals Web3.js for blockchain interaction and wallet integration Tailwind CSS for rapid UI development and responsive design