Skip to content

πŸŽ“ Blockchain diploma verification DApp - Master's degree blockchain learning module project featuring NFT certificates, ERC20 tokens, and secure authentication system (In Progress)

Notifications You must be signed in to change notification settings

KevOneRedOne/DiploChain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DiploChain πŸŽ“

A revolutionary blockchain-based diploma verification platform built on Ethereum, enabling secure, transparent, and instant verification of academic credentials.

🌟 Overview

DiploChain is a decentralized application (DApp) that leverages blockchain technology to create an immutable, secure system for diploma issuance and verification. The platform connects educational institutions, students, and companies through smart contracts, ensuring the authenticity and integrity of academic credentials.

✨ Key Features

πŸ” Secure Blockchain Storage

  • Diplomas stored immutably on Ethereum blockchain
  • IPFS integration for metadata storage
  • Tamper-proof certificate validation

⚑ Instant Verification

  • Real-time diploma authenticity verification
  • Token-based verification system (10 DIPTOK per verification)
  • Automated verification process for employers

🏫 Multi-Role Support

  • Students: Receive and manage blockchain diplomas
  • Institutions: Issue verified academic credentials
  • Companies: Verify candidate qualifications instantly

πŸͺ™ Token Economy

  • DiplomaToken (DIPTOK): Platform utility token
  • Purchase rate: 0.01 ETH = 100 DIPTOK
  • Evaluation rewards: 15 DIPTOK for internship evaluations

πŸ—οΈ Technical Architecture

Smart Contracts

  • DiplomaNFT.sol: ERC721 NFT contract for diploma certificates
  • DiplomaToken.sol: ERC20 token for platform transactions
  • OpenZeppelin: Security-focused contract libraries

Frontend

  • Next.js 15: React-based web application
  • TypeScript: Type-safe development
  • Ethers.js & Web3.js: Blockchain interaction
  • SCSS: Modular styling architecture

Blockchain Integration

πŸš€ Deployed Contracts

DiplomaToken (DIPTOK)

MockNFTDiploma

πŸ“ Project Structure

DiploChain/
β”œβ”€β”€ frontend/              # Next.js web application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ app/          # App router pages
β”‚   β”‚   β”‚   β”œβ”€β”€ Dashboard/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Students/    # Student dashboard
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Institutions/ # Institution dashboard
β”‚   β”‚   β”‚   β”‚   └── Companies/   # Company dashboard
β”‚   β”‚   β”œβ”€β”€ components/   # Reusable React components
β”‚   β”‚   β”‚   β”œβ”€β”€ Diploma/  # Diploma-related components
β”‚   β”‚   β”‚   β”œβ”€β”€ Token/    # Token management
β”‚   β”‚   β”‚   └── Web3/     # Blockchain integration
β”‚   β”‚   β”œβ”€β”€ hooks/        # Custom React hooks
β”‚   β”‚   └── utils/        # Utility functions
β”œβ”€β”€ smartContract/        # Hardhat development environment
β”‚   β”œβ”€β”€ contracts/        # Solidity smart contracts
β”‚   β”œβ”€β”€ scripts/          # Deployment scripts
β”‚   └── test/            # Contract tests
└── docs/                # Project documentation

πŸ› οΈ Installation & Setup

Prerequisites

  • Node.js (v18+)
  • npm or yarn
  • MetaMask wallet
  • Git

1. Clone Repository

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

2. Smart Contract Setup

cd smartContract
npm install
npx hardhat compile

3. Frontend Setup

cd frontend
npm install
npm run dev

4. Environment Configuration

Create .env files in both frontend and smartContract directories:

smartContract/.env

PRIVATE_KEY=your_private_key_here
BLAZE_RPC_URL=https://rpc.blaze.soniclabs.com

frontend/.env.local

NEXT_PUBLIC_DIPLOMA_TOKEN_ADDRESS=0xF0bC756473b8667912E7EB0413301ceCf5c08a4A
NEXT_PUBLIC_DIPLOMA_NFT_ADDRESS=0x232B40F317315A303D75A7d846c85e8330db4329
NEXT_PUBLIC_CHAIN_ID=57054

πŸ”§ Development Commands

Smart Contracts

# Compile contracts
npm run compile

# Run tests
npm run test

# Deploy to testnet
npm run build

# Security analysis
npm run slither

Frontend

# Development server
npm run dev

# Build for production
npm run build

# Code linting
npm run lint

# Format code
npm run format

πŸ”’ Security Features

Smart Contract Security

  • Mythril Analysis: Automated vulnerability scanning
  • Access Control: Role-based permissions
  • OpenZeppelin: Battle-tested contract libraries
  • Immutable Data: Blockchain-based storage

Code Quality

  • ESLint: Code quality enforcement
  • Prettier: Consistent code formatting
  • TypeScript: Type safety
  • Husky: Pre-commit hooks

🎯 Usage Scenarios

For Educational Institutions

  1. Register as accredited institution
  2. Mint diploma NFTs for graduates
  3. Store metadata on IPFS
  4. Track issued certificates

For Students

  1. Connect MetaMask wallet
  2. Receive diploma NFTs
  3. Share verification links
  4. Manage academic credentials

For Companies

  1. Purchase DIPTOK tokens
  2. Verify candidate diplomas
  3. Pay verification fees
  4. Access verification history

πŸ§ͺ Testing

Contract Testing

cd smartContract
npx hardhat test

Security Analysis

# Install Mythril
pip install mythril

# Analyze contracts
myth analyze contracts/diplomaNFT.sol --solv 0.8.24
myth analyze contracts/diplomaToken.sol --solv 0.8.24

πŸš€ Deployment

Local Development

# Start local Hardhat node
npx hardhat node

# Deploy contracts locally
npx hardhat run scripts/deployDiploma.ts --network localhost

Testnet Deployment

# Deploy to Blaze Testnet
npx hardhat run scripts/deployDiploma.ts --network blaze

🀝 Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add AmazingFeature')
  4. Push to branch (git push origin feature/AmazingFeature)
  5. Open Pull Request

πŸ“‹ Roadmap

  • Phase 1: Core NFT diploma minting
  • Phase 2: Token economy implementation
  • Phase 3: IPFS integration
  • Phase 4: Mobile application
  • Phase 5: Mainnet deployment

πŸ† Team Roles

  • DEV 1: Smart Contracts & Blockchain Backend
  • DEV 2: Frontend & Web3 Integration
  • DEV 3: Infrastructure & Security Testing

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ”— Links

πŸ“ž Support

For support and questions:

  • Create an issue on GitHub
  • Contact the development team
  • Join our community discussions

Built with ❀️ using Ethereum, Next.js, and cutting-edge Web3 technologies

About

πŸŽ“ Blockchain diploma verification DApp - Master's degree blockchain learning module project featuring NFT certificates, ERC20 tokens, and secure authentication system (In Progress)

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •