Skip to content

Latest commit

 

History

History
64 lines (40 loc) · 2.92 KB

File metadata and controls

64 lines (40 loc) · 2.92 KB

🛡️ Inovus Certificate Validator

A blockchain-powered certificate verification platform for Inovus Labs — enabling instant, tamper-proof validation of credentials through secure on-chain records. Built to preserve trust, prevent forgery, and ensure transparency in every certificate issued.

Netlify Status

GitHub license Contributions welcome GitHub last commit GitHub language count GitHub top language GitHub repo size

📜 Table of Contents

🌟 The Story

At Inovus Labs, we've issued hundreds of certificates over the years for workshops, bootcamps, and events. But in a world where designing a fake certificate is just a few clicks away, we needed a stronger system. This project brings real trust to every credential issued, using blockchain technology to make each certificate verifiable, tamper-proof, and permanent.

For more information on the project, check out the blog post detailing the journey of building this project.

🚀 Features

  • Blockchain-based Trust — Every certificate hash is stored immutably on-chain
  • 🔐 Decentralized Validation — No central database needed for verification
  • 📄 Rich Metadata — Includes recipient, event info, issuer, dates, etc.
  • 🌐 Optional IPFS Storage — Store full metadata off-chain, verify by hash
  • 🛠️ Role-based Access — Manage certificate hashes securely (admin-ready)

🛠 Tech Stack

  • Solidity — Smart contracts
  • Hardhat — Ethereum dev environment
  • Polygon Mumbai — Blockchain network (testnet)
  • IPFS (via Web3.Storage) — Optional decentralized file storage
  • Node.js + Ethers.js — Optional integration tooling

🔮 Future Enhancements

  • 🌐 Live public certificate verification page
  • 🔐 Admin dashboard with access control
  • 📱 QR code support for physical certificates
  • ⛓️ Mainnet support (Polygon / Celo)

📜 License

MIT License — Free to use, modify, and share with credit.

📬 Contact

Feel free to reach out via inovuslabs.org or open an issue in the repo.