Skip to content

alfredang/opencert-verifier

Repository files navigation

OpenCerts Verifier

A web application to verify the authenticity of OpenCerts documents against the Ethereum blockchain.

Demo: https://opencert-verifier.vercel.app

Features

  • Drag-and-drop upload - Upload .opencert or .json certificate files
  • Network selection - Support for Ethereum Mainnet and Sepolia testnet
  • Three verification checks:
    • Document Integrity - Ensures the document has not been tampered with
    • Issuance Status - Confirms the document is issued on blockchain and not revoked
    • Issuer Identity - Verifies the issuer via DNS-TXT or OpenCerts registry
  • Certificate preview - Displays certificate metadata (name, recipient, issuer, date)
  • Dark mode support - Automatic theme based on system preferences

Tech Stack

Getting Started

Prerequisites

  • Node.js 18+
  • npm

Installation

# Clone the repository
git clone https://github.com/alfredang/opencert-verifier.git
cd opencert-verifier

# Install dependencies
npm install

# Start development server
npm run dev

Open http://localhost:3000 in your browser.

Build for Production

npm run build
npm start

Usage

  1. Select the appropriate network (Mainnet for production certificates, Sepolia for test certificates)
  2. Upload an OpenCerts document (.opencert or .json file)
  3. View the verification results showing document integrity, issuance status, and issuer identity

How Verification Works

OpenCerts verification involves three checks:

  1. Document Integrity: Recomputes the document hash and verifies it matches the stored hash using Merkle proof verification
  2. Issuance Status: Queries the Ethereum blockchain to confirm the document was issued to the document store smart contract and has not been revoked
  3. Issuer Identity: Verifies the issuer's identity through DNS-TXT records or the OpenCerts accreditation registry

License

MIT

About

Verify OpenCerts documents against the Ethereum blockchain

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •