ChainCred is a decentralized platform that eliminates credential fraud in the world by issuing tamper-proof digital credentials as NFTs on the Polkadot Paseo Testnet.
- 30-40% credential fraud rate
- 2-4 weeks average verification time
- $1M+ annual cost to employers
- No standardized cross-border verification system
ChainCred provides:
- β Instant Verification - Verify credentials in under 5 seconds
- β Tamper-Proof - Blockchain-backed authenticity
- β Cross-Border - Works seamlessly across institutions
- β Transparent - Immutable verification trail
- Live Application - Fully functional web app
- Smart Contract - Deployed on Paseo Testnet
/testPage - Interactive testing interface for judges- Video Demo - 3-minute product showcase
- GitHub Repository - Complete source code with documentation
- University Portal - Issue and manage credentials
- Student Portal - View and share credentials
- Employer Verification - Instant credential verification
- Admin Dashboard - Manage university permissions
- Mobile Responsive - Works on all devices
- π± Mobile Wallet Support - Connect via MetaMask mobile app using WalletConnect
- π IPFS Integration - Decentralized credential metadata storage
- Node.js v18+
- npm or yarn
- MetaMask wallet (browser extension or mobile app)
- Paseo testnet tokens# Clone the repository
git clone https://github.com/yourusername/chaincred.git
cd chaincred
# Install contract dependencies
cd contracts
npm install
# Install frontend dependencies
cd ../frontend
npm installCreate contracts/.env:
PRIVATE_KEY=your_private_key_hereCreate frontend/.env:
VITE_CONTRACT_ADDRESS=0xYourContractAddress
VITE_ADMIN_ADDRESS=0xYourAdminAddress
VITE_CHAIN_ID=42161
VITE_RPC_URL=https://rpc.ibp.network/paseo
VITE_APP_URL=http://localhost:5173
VITE_WALLETCONNECT_PROJECT_ID=your_project_id_herecd contracts
npm run compilenpm run deployExpected Output:
ChainCred deployed to: 0x...
Contract Address: 0x...
Deployer (Admin): 0x...
Copy the contract address and admin address to frontend/.env:
VITE_CONTRACT_ADDRESS=0xYourContractAddressHere
VITE_ADMIN_ADDRESS=0xYourAdminAddressHerecd frontend
npm run devApplication will be available at: http://localhost:5173
- Navigate to
http://localhost:5173/test - Connect your MetaMask wallet
- Test the following functions:
Step 1: Add University (Admin Only)
- Go to "Admin Functions" tab
- Enter a wallet address
- Click "Add University"
- Confirm transaction in MetaMask
Step 2: Issue Credential (University Only)
- Switch to the university wallet
- Go to "Issue Credential" tab
- Fill in student details:
- Student Address: 0x...
- Student Name: Juan PΓ©rez
- Student ID: 20231234
- Degree: Bachelor of Science
- Major: Computer Science
- Click "Issue Credential"
Step 3: Verify Credential (Anyone)
- Go to "Verify Credential" tab
- Enter credential ID (e.g., 0)
- Click "Verify Credential"
- View verification results
Step 4: Revoke Credential (Issuer Only)
- Go to "Revoke Credential" tab
- Enter credential ID
- Click "Revoke Credential"
- Network: Polkadot Paseo Testnet
- Chain ID: 42161
- RPC URL: https://rpc.ibp.network/paseo
- Contract Address:
[Will be filled after deployment]
addUniversity(address)- Grant university role
issueCredential(...)- Issue new credentialrevokeCredential(uint256)- Revoke existing credentialgetUniversityCredentials(address)- View issued credentials
verifyCredential(uint256)- Verify any credentialgetStudentCredentials(address)- View student's credentialsgetTotalCredentials()- Get total countisUniversity(address)- Check university status
- ERC-721 NFT standard for credentials
- Role-based access control (Admin, University)
- Credential struct with complete details
- Revocation mechanism
- Query functions for verificationβββ components/
β βββ Navbar.jsx - Navigation with wallet connection
β βββ LoadingSpinner.jsx - Loading states
βββ pages/
β βββ HomePage.jsx - Landing page
β βββ UniversityPage.jsx - Issue credentials
β βββ StudentPage.jsx - View credentials
β βββ VerifyPage.jsx - Verify credentials
β βββ TestPage.jsx - Testing interface
βββ config/
β βββ wagmi.js - Web3 configuration
β βββ abi.js - Contract ABI
βββ utils/
βββ helpers.js - Utility functions
- β Role-based access control
- β Only issuer can revoke credentials
- β Immutable on-chain storage
- β Cryptographic proof of authenticity
- β No centralized database vulnerability
- Issue digital diplomas
- Manage alumni credentials
- Reduce administrative overhead
- Portable digital credentials
- Instant sharing with employers
- Lifetime access
- Instant verification
- No manual processing
- Fraud prevention
- Cross-border verification
- Standardized credentialing
- Immigration processing
- Multi-language support (Spanish, Portuguese)
- PDF certificate generation
- Integration with university systems
- Mobile app (iOS/Android)
- QR code verification
- Credential templates
- Batch issuance
- Analytics dashboard
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or support:
- Email: [email protected]
- Polkadot/Paseo for the blockchain infrastructure
- OpenZeppelin for secure smart contract libraries
- Wagmi for seamless Web3 integration