Skip to content

krishnikbarman/CertiChain-dapp

Repository files navigation

πŸš€ CertiChain – Blockchain Certificate Verification System

A decentralized certificate verification platform built using React, Ethers.js, and Ethereum (Sepolia Testnet). CertiChain ensures tamper-proof, verifiable, and transparent certificate validation using blockchain technology.


✨ Key Features

πŸ” Blockchain Security

  • Immutable certificate storage on Ethereum
  • Smart contract-based verification
  • Admin-controlled certificate issuance
  • Tamper-proof digital records

βš™οΈ Core Functionality

  • βœ… Add certificates (Admin only)
  • βœ… Verify certificates using hash
  • βœ… View all certificates on-chain
  • βœ… QR-based certificate sharing
  • βœ… Multi-network support (Ganache + Sepolia)

🎨 User Experience

  • Modern glassmorphism UI
  • Dark / Light mode support
  • Responsive design (mobile-friendly)
  • Real-time transaction feedback
  • Wallet reconnect + network switch support

🧱 Tech Stack

Layer Technology
Frontend React + Vite
Blockchain Solidity (Ethereum)
Web3 Ethers.js v6
Styling Tailwind CSS
Wallet MetaMask
QR Code qrcode.react

πŸ“Έ Screenshots

πŸ”— Wallet Connected (Sepolia)

Wallet

Shows MetaMask connected with Sepolia testnet and active wallet session.


πŸ” Verify Certificate

Verify

Users can verify certificate authenticity using a unique hash stored on blockchain.


βž• Add Certificate (Admin)

Add

Admin panel for adding new certificates securely to the blockchain.


πŸ“„ All Certificates

List

Displays all certificates stored on-chain with student and course details.


🧾 MetaMask Activity

Activity

Blockchain transactions including contract deployment and certificate addition.


⚑ Getting Started

1. Clone Repository

git clone https://github.com/your-username/certichain.git
cd certichain

2. Install Dependencies

npm install --legacy-peer-deps

3. Configure Smart Contract

Update contract address in:

src/utils/contract.js
const CONTRACT_ADDRESS = "YOUR_DEPLOYED_CONTRACT_ADDRESS";

4. Run Project

npm run dev

Open:

http://localhost:3000

🌐 Network Configuration

Supports:

  • 🏠 Ganache (Local)
  • 🌍 Sepolia (Testnet)
chainId: '0x539'      // Ganache
chainId: '0xaa36a7'   // Sepolia

πŸ§ͺ How It Works

πŸ”Ή Add Certificate (Admin)

  1. Connect MetaMask
  2. Fill certificate details
  3. Approve transaction
  4. Data stored on blockchain

πŸ”Ή Verify Certificate

  1. Enter certificate hash

  2. Click verify

  3. View:

    • Student Name
    • Course
    • Issue Date
    • QR Code

πŸ”Ή View All Certificates

  • Fetches all stored hashes
  • Displays certificate list
  • Click to verify details

πŸ“¦ Build & Deployment

npm run build
npm run preview

πŸš€ Recommended Deployment

  • Vercel (Frontend)
  • Sepolia (Smart Contract)

πŸ›‘οΈ Security Notes

  • No private keys stored in frontend
  • All transactions require MetaMask approval
  • Admin-only functions enforced via smart contract
  • Always test on testnet before mainnet

πŸ“Œ Future Improvements

  • NFT-based certificates
  • IPFS document storage
  • Certificate revocation system
  • Advanced search & filtering
  • Multi-admin roles

πŸ‘¨β€πŸ’» Author

Krishnik Barman πŸ”— GitHub: https://github.com/krishnikbarman


πŸ“œ License

MIT License

About

A decentralized certificate verification system built on Ethereum that enables secure, tamper-proof validation of academic credentials using smart contracts and MetaMask.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors