The real graded Blockchain & Smart Contracts tasks the portal assigns, grouped into three levels.
The portal assigns these Blockchain & Smart Contracts tasks. Finish Level 1 before Level 2 and Level 2 before Level 3. Your mentor may mark some tasks as required for the certificate.
Level 1: Foundations (12 tasks)
Task
What to do
Blockchain basics
In a repo named web3-internship, explain blocks, hashes, consensus, wallets, gas and public versus private chains with simple diagrams.
Hashing in code
Write a small Python or JavaScript program that chains blocks with SHA-256 hashes and shows how changing one block breaks the chain.
Wallet on a test network
Set up a browser wallet on a test network (for example Sepolia), get free test coins from a faucet and send a test transaction. Never use real money.
Block explorer
Look up your test transaction on a block explorer and explain every field.
Remix IDE
Write, compile and deploy a Hello World contract in Remix on the test network.
Solidity types and functions
Write a contract with state variables, functions, view and pure functions, and events.
Mappings and structs
Build a contract that stores student records with structs and mappings.
Modifiers and access control
Add an onlyOwner modifier and explain why access control matters in contracts.
Errors and require
Use require, revert and custom errors, and test what happens on bad input.
Gas costs
Compare the gas used by two ways of writing the same function and explain why one is cheaper.
Token standards
Explain the ERC-20 and ERC-721 standards and where they are used.
Legal and safety notes
Write a page on crypto rules in India, scams to avoid and why internship work uses only test networks.
Level 2: Building real features (10 tasks)
Task
What to do
Hardhat or Foundry project
Set up a Hardhat or Foundry project, compile a contract and deploy it with a script to a local chain and a test network.
Unit tests
Write tests for your contracts covering normal use, edge cases and failures.
ERC-20 token
Create a test-network ERC-20 token with OpenZeppelin, mint some and transfer it between test wallets.
NFT certificate
Create an ERC-721 contract that issues a test certificate NFT with metadata stored on IPFS.
Frontend connection
Build a web page with ethers.js or viem that connects a wallet, reads contract data and sends a transaction.
Events and indexing
Emit events from your contract and show them live in your frontend.
Voting dApp
Build a voting contract and frontend where each test wallet votes once and results update live.
Common bugs
Study reentrancy, integer issues and unchecked calls using public write-ups, and show how OpenZeppelin patterns prevent them in your own code.
Upgradeable contracts
Explain proxy patterns and deploy an upgradeable contract with OpenZeppelin on a test network.
Verify a contract
Verify your contract's source code on the test network's block explorer.
Level 3: Professional work and capstone (8 tasks)
Task
What to do
Static analysis
Run Slither or a similar tool on your contracts, explain each finding and fix the real issues.
Gas optimisation
Reduce the gas cost of your main contract and show before and after numbers.
Certificate verification system
Build a dApp where an institution issues certificates on a test chain and anyone can verify them by ID.
Layer 2
Deploy your contract to a Layer 2 test network and compare fees and speed with the main test network.
Private blockchain
Set up a small permissioned network (Hyperledger Besu or Fabric test network) and explain where businesses use permissioned chains.
Audit report
Write an audit-style report for your own capstone contract: scope, findings, severity and fixes.
Documentation
Write developer documentation for your dApp: contracts, functions, deployment and how to run tests.
Capstone: dApp
Ship a complete test-network dApp (certificates, supply-chain tracking or voting) with tested contracts, a frontend and a hosted link. Submit the repo and a 2-minute demo video.