All 30 tasks, level by level

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)

TaskWhat to do
Blockchain basicsIn a repo named web3-internship, explain blocks, hashes, consensus, wallets, gas and public versus private chains with simple diagrams.
Hashing in codeWrite 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 networkSet 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 explorerLook up your test transaction on a block explorer and explain every field.
Remix IDEWrite, compile and deploy a Hello World contract in Remix on the test network.
Solidity types and functionsWrite a contract with state variables, functions, view and pure functions, and events.
Mappings and structsBuild a contract that stores student records with structs and mappings.
Modifiers and access controlAdd an onlyOwner modifier and explain why access control matters in contracts.
Errors and requireUse require, revert and custom errors, and test what happens on bad input.
Gas costsCompare the gas used by two ways of writing the same function and explain why one is cheaper.
Token standardsExplain the ERC-20 and ERC-721 standards and where they are used.
Legal and safety notesWrite 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)

TaskWhat to do
Hardhat or Foundry projectSet up a Hardhat or Foundry project, compile a contract and deploy it with a script to a local chain and a test network.
Unit testsWrite tests for your contracts covering normal use, edge cases and failures.
ERC-20 tokenCreate a test-network ERC-20 token with OpenZeppelin, mint some and transfer it between test wallets.
NFT certificateCreate an ERC-721 contract that issues a test certificate NFT with metadata stored on IPFS.
Frontend connectionBuild a web page with ethers.js or viem that connects a wallet, reads contract data and sends a transaction.
Events and indexingEmit events from your contract and show them live in your frontend.
Voting dAppBuild a voting contract and frontend where each test wallet votes once and results update live.
Common bugsStudy reentrancy, integer issues and unchecked calls using public write-ups, and show how OpenZeppelin patterns prevent them in your own code.
Upgradeable contractsExplain proxy patterns and deploy an upgradeable contract with OpenZeppelin on a test network.
Verify a contractVerify your contract's source code on the test network's block explorer.

Level 3: Professional work and capstone (8 tasks)

TaskWhat to do
Static analysisRun Slither or a similar tool on your contracts, explain each finding and fix the real issues.
Gas optimisationReduce the gas cost of your main contract and show before and after numbers.
Certificate verification systemBuild a dApp where an institution issues certificates on a test chain and anyone can verify them by ID.
Layer 2Deploy your contract to a Layer 2 test network and compare fees and speed with the main test network.
Private blockchainSet up a small permissioned network (Hyperledger Besu or Fabric test network) and explain where businesses use permissioned chains.
Audit reportWrite an audit-style report for your own capstone contract: scope, findings, severity and fixes.
DocumentationWrite developer documentation for your dApp: contracts, functions, deployment and how to run tests.
Capstone: dAppShip 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.
โ† Tools and first-week setupSubmitting tasks and earning your certificate โ†’