Author secure smart contracts using mappings, custom structs, events, and modifiers.
Project-based Internship Programme
Build a Decentralized Verification DApp in a Blockchain Internship Project
This blockchain development online internship with certificate is a fee-based, project-based internship programme. This blockchain development online internship with certificate is a fee-based, project-based internship programme that focuses on smart contract engineering and decentralized Web3 application architecture. You develop a verifiable certificate registry using Solidity, enforce strict client-side hashing to protect personal privacy, test security boundaries with Hardhat, and build an interactive React Web3 frontend.
Decision note 01
Who this project fits and who it does not
A useful fit if…
- You want to understand the mechanics of decentralized systems: smart contracts, immutable state, gas economics, and Web3 wallets.
- You value real-world privacy engineering: understanding why personal identity data must never be recorded directly on public blockchains.
- You want to build a functional Web3 portfolio project featuring clean Solidity code, comprehensive unit tests, and React integration.
Choose another route if…
- You are looking for cryptocurrency trading, speculative token launches, or financial investment advice.
- You want to build a general centralized web application; our Backend Development programme is focused on standard REST architectures.
- You believe blockchain projects can store sensitive student names and personal data directly in public smart contract variables.
Official assigned project
Blockchain Certificate Verification DApp
Public blockchains provide an unalterable, decentralized timestamping ledger, but they introduce unique engineering and privacy constraints. Once data is written to a smart contract, it can never be deleted or modified. In this Blockchain Development project, you design a Blockchain Certificate Verification DApp. You learn how to anchor academic and professional credentials immutably to an Ethereum testnet while protecting student privacy. By hashing certificates on the client side, your DApp records only a cryptographic proof on-chain, allowing anyone in the world to verify authenticity without exposing personal records.
Blockchain Certificate Verification DApp - Build a DApp that issues certificate proofs, stores hashes, and verifies proofs through a Web3 frontend.
Catalogue deliverables
- Solidity smart contract source code implementing proof storage, issuer authorization, and revocation states
- Comprehensive Hardhat unit test suite testing access controls, duplicate proof rejections, and gas usage
- React Web3 frontend interface allowing users to upload documents, compute hashes, and query on-chain status
- Deployment script and verifiable transaction logs on a local Hardhat node or public Ethereum testnet
- Technical architecture documentation highlighting privacy protection and client-side hashing safeguards
How the project works
From client-side cryptographic hashing to immutable smart contract verification
Privacy-first architecture is the foundational requirement of enterprise blockchain systems. Writing student names, grades, or personal identification onto an immutable public blockchain violates international privacy regulations like GDPR and DPDP. Your DApp solves this by enforcing client-side cryptographic hashing. The student or employer drops the certificate document into the browser, which computes its SHA-256 or Keccak-256 hash locally. Only this unique 32-byte digest is transmitted to the smart contract.
Smart contract development in Solidity requires defensive programming against security vulnerabilities. You implement a CertificateRegistry contract featuring structured mappings, state variables, and event logs. You enforce role-based access control (using OpenZeppelin's Ownable or AccessControl patterns) to ensure that only verified issuing authorities can anchor new certificate hashes, preventing unauthorized actors from minting fraudulent credentials.
Thorough testing with Hardhat establishes protocol security before deployment. Because smart contract bugs cannot be patched with simple server restarts, automated testing is paramount. You write automated tests that simulate authorized and unauthorized transactions, verify that duplicate certificate hashes are rejected, validate event emission on registration, and inspect transaction gas consumption.
The Web3 frontend interface connects decentralized contracts to end users. Using React and ethers.js, you build a clean portal that connects to Web3 browser wallets (like MetaMask). The interface supports two core workflows: an administrative portal where authorized issuers sign transactions to register certificate proofs, and a public verification tab where any verifier can upload a document to instantly query the blockchain and view verification status, issue timestamps, and issuer addresses.
Submission evidence
What makes this work reviewable
- Clean, modular Solidity smart contract source code implementing role access controls and state mapping.
- Comprehensive Hardhat unit test suite proving 100% test pass rates across access and duplicate scenarios.
- React Web3 frontend codebase showcasing wallet integration and client-side document hashing.
- Recorded testnet deployment transactions and contract address on an Ethereum block explorer (e.g. Etherscan).
- Architecture documentation outlining privacy guarantees, gas optimization, and smart contract boundaries.
Your build path
Move from question to reviewable evidence
Author a secure Solidity smart contract that stores cryptographic certificate hashes and issuer metadata. Establish client-side hashing boundaries to ensure zero personally identifiable information reaches the blockchain.
Implement strict access control modifiers ensuring only authorized admin wallets can register new credentials. Author the smart contract with role-based access controls, event logging, and duplicate prevention logic.
Write automated Hardhat tests verifying duplicate prevention, unauthorized access errors, and event emission. Execute automated test suites validating authorization guards, gas usage, and failure state handling.
Construct a React frontend using ethers.js or viem that computes document hashes client-side without uploading files. Build a responsive React frontend connecting MetaMask, computing local hashes, and querying contract state.
Deploy the contract to an Ethereum testnet and document the complete issuance, verification, and revocation workflow. Deploy the contract to an Ethereum testnet, register sample certificate proofs, and verify public lookups.
Private self-check
Is this project a reasonable learning fit?
Your answers remain in this browser tab and are not stored or sent.
Use these prompts for reflection; they are not an eligibility test.
Skills notebook
Build capability in a realistic order
These are general domain-learning suggestions, not confirmed HireeBridge tool requirements.
Smart Contract Engineering
Implement role-based authorization to restrict administrative contract capabilities.
Structure data storage types and memory usage to minimize transaction execution costs.
Web3 Testing & Deployment
Write automated JavaScript/TypeScript unit tests simulating multi-account transactions.
Deploy contracts to local Hardhat nodes or Ethereum testnets (Sepolia).
Verify contract source code on block explorers like Etherscan.
Decentralized Frontend Integration
Connect browser applications to Ethereum nodes and parse contract ABIs.
Compute cryptographic SHA-256 digests in the browser using the Web Crypto API.
Handle user account switching, network changes, and pending transaction states.
Review before submitting
Common Blockchain Development project mistakes
- 01
Storing student names and grades on-chain
Never record personal identifiable information on an immutable ledger; store only the one-way cryptographic hash.
- 02
Failing to restrict the certificate issuance function
Always guard issuance functions with access control modifiers so only authorized admin addresses can register credentials.
- 03
Deploying contracts without automated Hardhat tests
Smart contracts cannot be easily modified after deployment; test every revert condition and edge case thoroughly.
- 04
Uploading user documents to a centralized server to compute hashes
Use client-side JavaScript (SubtleCrypto) to calculate the file hash directly in the browser for maximum user privacy.
- 05
Promising speculative cryptocurrency returns or financial tokens
This project is strictly an educational software engineering exercise focused on document verification architectures.
What reviewers check
Completeness against the assigned brief and deliverables; functional correctness; domain-relevant logic, data, metrics or implementation; required edge cases and failure handling; reproducible setup and submission evidence; and clear documentation of the completed work.
Reviewer
GreyRocks team
Cover issuer authorization, proof match/mismatch, duplicates, and network errors.
Evidence language
Draft an honest CV bullet
Keep placeholders until you can replace them with evidence from your own project.
- Architected a decentralized certificate verification DApp in Solidity and React, anchoring cryptographic proofs on an Ethereum testnet.
- Implemented client-side SHA-256 hashing to guarantee zero PII data exposure on-chain in compliance with data privacy standards.
- Authored a comprehensive Hardhat unit test suite covering role-based access control, gas optimization, and duplicate rejection.
- Integrated Ethers.js and MetaMask into a Web3 portal allowing instant public verification of issued credentials in under 2 seconds.
- Deployed and verified smart contracts on the Sepolia testnet, documenting transaction gas metrics and event logs.
Project readiness
Prepare a strong project submission
Certificate and verification
Completion comes before the credential
GreyRocks serves as the independent technical evaluation and credential verification entity for HireeBridge programmes. Programme enrolment grants access to the project specification, contract templates, and review rubrics; it does not automatically award a certificate upon payment alone. To receive certification, you submit your completed Solidity contract, Hardhat test suite, React Web3 interface code, and testnet deployment records. A blockchain engineering assessor evaluates your access control implementation, privacy design, and frontend integration. Approved projects receive an official credential featuring a unique credential ID and QR verification link on GreyRocks.
- Complete
- Submit
- Review
- Approval
- Credential ID and QR
Read the certificate process · Verify a credential on GreyRocks
Duration: 1 Month / 4 Weeks.
Plan inclusions: Each domain maps to an assigned project and task specification. Reference repositories and comprehensive materials depend on the selected plan; certificates follow task submission and explicit reviewer approval.
Questions from students
Blockchain Development internship FAQ
Do I need to spend real money on cryptocurrency to deploy this smart contract?
No. You will develop and test your smart contract using local test nodes provided by Hardhat, or deploy to public testnets (like Ethereum Sepolia) using free testnet faucet tokens.
What is the difference between a hash and the certificate document itself?
The certificate document is the actual file (such as a PDF or image). A hash is a unique 64-character mathematical fingerprint of that file. Storing the hash on the blockchain proves the document existed in that exact state without exposing the contents.
Why is storing personal data on the blockchain a problem?
Public blockchains are permanent, unchangeable, and visible to everyone globally. Storing real names, birthdates, or contact information violates international privacy regulations like GDPR and DPDP that require the right to erasure.
What tools do I need installed on my computer?
You will need Node.js, an IDE (like VS Code), the Hardhat framework, and a browser wallet extension (like MetaMask) configured for local or test networks.
How do I prove that unauthorized users cannot issue certificates?
You write automated unit tests in Hardhat where a non-admin wallet attempts to call the registration function and assert that the transaction reverts with an explicit unauthorized access error.
Can a verifier check a certificate without having a crypto wallet?
Yes. While issuing credentials requires an authorized wallet signature, reading public mapping data from a smart contract can be executed by anyone using public RPC providers without paying gas or connecting a wallet.
How long does the programme take to finish?
The project is structured for 4 weeks of self-paced study: week 1 covers Solidity fundamentals and privacy architecture, week 2 covers contract authoring and Hardhat testing, week 3 covers Web3 frontend integration, and week 4 finalizes deployment and documentation.
Is the certificate verifiable online?
Yes. Every certificate includes an official GreyRocks credential ID and a scannable QR verification link that displays your verified project scope and completion record on the online verification portal.
Next step
Choose your plan and start building.
Review plan details, included resources and the assigned project scope before you begin.