Assignment Overview: This practical lab teaches students to permanently inscribe their name and a picture on the Ethereum Sepolia testnet blockchain, using only MetaMask and free web tools. No coding required. Connects directly to L02 (Blockchain Fundamentals) and L03 (Cryptographic Foundations) concepts.

Pre-Lab Setup - Day Before

Preparation Checklist:
  • Test all faucets - note which ones are currently working
  • Create instructor wallet on Sepolia (for demo)
  • Do a complete dry run of all 4 phases
  • VERIFY MetaMask hex data field: In MetaMask v11+, the "Show hex data" toggle may have moved from Settings > Advanced. Check the current location and update student instructions if needed. See: https://support.metamask.io/
  • Prepare backup: if ALL faucets are down, have pre-funded wallets (create 30 wallets, fund each with 0.1 SepoliaETH, distribute private keys)
  • Verify Pinata free tier still allows signups
  • Note your Pinata dedicated gateway URL (format: your-gateway.mypinata.cloud) - the old public gateway.pinata.cloud no longer works for new accounts
  • Verify thirdweb dashboard works on Sepolia
  • Check that testnets.opensea.io indexes Sepolia NFTs
  • Prepare a shared doc/form for students to submit Etherscan links

Timing Guide - 90 Minutes Total

Time Activity Notes
0:00-0:05 Introduction + demo Show a completed example on Etherscan
0:05-0:20 Phase 1: Wallet + faucet Help students with MetaMask install
0:20-0:40 Phase 2: Name on chain Walk around, help with hex conversion
0:40-1:10 Phase 3: IPFS + on-chain CID This takes longest; help with Pinata signup
1:10-1:25 Phase 4 (bonus): NFT For fast students; others finish Phase 3
1:25-1:30 Wrap-up + reflection Quick class discussion

Tool Version Notes - IMPORTANT

Web3 tools change frequently. Before each semester, verify:
  1. MetaMask Hex Data Field (v11+): The "Show hex data" setting may have moved. Do a dry run. If changed, prepare supplementary instruction sheet.
  2. Pinata Gateway URLs: Pinata no longer provides a shared public gateway. Each account gets a dedicated gateway (your-gateway.mypinata.cloud). Students must find their own gateway URL under "Gateways" in dashboard.
  3. nft.storage: nft.storage has discontinued free uploads. Do NOT recommend it. Alternatives: web3.storage (https://web3.storage/) or Filebase (https://filebase.com/).
  4. thirdweb Dashboard: Verify the NFT deployment flow still works on Sepolia. thirdweb occasionally changes UI and supported networks.

Adaptation Options

Take-Home Version:
  • Remove time pressure, extend to 1 week deadline
  • Add written report requirement (500 words) instead of in-class reflection
  • Worth same 100 points
Shortened Version - 45 Minutes:
  • Skip Phase 4 (bonus NFT)
  • Simplify Phase 3: just upload to Pinata, record CID (skip on-chain step)
  • Reduce to 60 points

Troubleshooting

Problem Solution
"All faucets require mainnet ETH" Some faucets (Google Cloud, Chainstack) do not require mainnet balance. If all fail, distribute pre-funded wallet private keys.
"MetaMask doesn't show hex data field" Settings > Advanced > "Show hex data" must be ON. NOTE: In MetaMask v11+, this toggle may have moved. Check current docs. This is extension-only; MetaMask mobile does not support hex data.
"Pinata gateway link doesn't work / 403 error" The old public gateway (gateway.pinata.cloud) is deprecated. Students must use their account-specific gateway URL from their Pinata dashboard (format: your-gateway.mypinata.cloud/ipfs/CID).
"Pinata signup requires credit card" As of 2026, Pinata free tier does not require credit card. Alternative: use web3.storage or Filebase (also free IPFS pinning). Do NOT recommend nft.storage (discontinued free uploads).
"Transaction stuck/pending" Gas prices on Sepolia are usually negligible. If stuck: Settings > Advanced > Reset Account (clears pending tx nonce).
"OpenSea doesn't show my NFT" Click "Refresh Metadata" on the NFT page. May take 5-10 minutes for indexing. Paste contract address + token ID directly.
"Hex conversion has spaces or special characters" The hex string must be continuous with no spaces. Some converters add spaces between byte pairs - remove all spaces. Must start with exactly "0x" (not "0X", not missing prefix).

Privacy & Ethics Notes

  • Participation must be voluntary
  • Testnet data is public and permanent (even on testnets)
  • Students should use their actual name (educational purpose) but could use a pseudonym if they have privacy concerns
  • No real financial risk (testnet tokens have no value)
  • Offer alternative assignment for students who prefer not to use blockchain

Assessment Notes

Grading Priority:
  1. Did the student demonstrate understanding? (reflection questions)
  2. Did they successfully complete the technical steps? (Etherscan links)
  3. Quality of documentation (clear screenshots/links, organized submission)

Point structure: 85 core + 15 bonus = 100 maximum.

Common mistakes that should NOT lose points:

  • Typos in the name
  • Using a different faucet than recommended
  • IPFS image being low quality
  • OpenSea not indexing the NFT immediately (testnet indexing is unreliable)

© Joerg Osterrieder 2025-2026. All rights reserved.