Secure Blockchain Document Verification System
Description
Budget: ₹1500 - ₹12500
I want to build a complete, end-to-end solution that lets users upload a certificate through a simple web interface, have the file’s SHA-256 hash generated in the browser or back-end, and then store that hash on an Ethereum smart contract so anyone can later prove the certificate has not been tampered with. Only the hash ever leaves the user’s machine; the document itself stays off-chain.
The flow I have in mind:
- User opens the React front-end (MetaMask connected).
- They drag-and-drop a certificate (PDF, image, or any common format).
- The app calculates a SHA-256 hash, sends it to a Solidity contract, and the contract records it immutably on the blockchain (local Ganache during development, then a public testnet or mainnet).
- To verify, another user re-uploads the certificate; the app re-hashes it and checks the smart contract for a match, instantly confirming authenticity.
Technologies I expect you to use include Ethereum + Solidity for the contract layer, React/HTML-CSS-JS for the front-end, and either Node.js or Python for any necessary server-side helpers. MetaMask XXXX XXXX essential so transactions originate from the browser.
Deliverables • Solidity smart contract(s) with clear comments, deployed to a testnet • React web interface covering upload, hash display, on-chain write, and verification flow • Basic styling so the demo looks clean and professional • README with setup, deployment, and verification steps
Acceptance criteria • Hash stored on-chain matches the re-calculated hash for the same certificate every time • Any modified certificate fails verification predictably • All functions callable through MetaMask XXXX XXXX-coded private keys • Code compiles, tests pass, and I can reproduce the demo by following the README
If you have prior work with document hashing, smart contract security, or front-end/web3 integrations, please share it so I can see your approach.
Skills
Want AI to find more roles like this?
Upload your CV once. Get matched to relevant assignments automatically.