Interactive roadmap

    Blockchain Developer roadmap

    This roadmap is for developers wanting to build decentralised software. You will learn how distributed ledgers operate, write secure smart contracts, and build user-facing decentralised applications.

    Your progress0% · 0 of 23 topics
    Done Learning Skipped OptionalClick any topic to learn more and mark your progress.
    1. 1

      Blockchain and Cryptography Basics

      0 of 4 done

      Understand how distributed networks store data securely without central authorities.

      Take your time with these core ideas, as every advanced feature relies heavily on cryptography and consensus rules.
    2. 2

      Ethereum and the EVM

      0 of 4 done

      Learn the architecture of the Ethereum network and its virtual runtime.

      Focus on how fees and virtual machine rules shape the way you write production code.
    3. 3

      Smart Contracts with Solidity

      0 of 4 done

      Write self-executing programmes that run directly on EVM networks.

      Write clean, readable contracts and always double-check your data types to avoid unexpected bugs.
    4. 4

      Testing and Tooling

      0 of 4 done

      Compile, test, and deploy code using modern blockchain developer frameworks.

      Automated testing is your safety net, so write tests for every single feature before deployment.
    5. 5

      Security and Auditing

      0 of 3 done

      Identify common vulnerabilities to protect smart contracts from costly exploits.

      Always assume malicious actors will test your code, and design your contracts with defense in depth.
    6. 6

      Building Decentralised Apps

      0 of 4 done

      Connect your smart contracts to web frontends so regular users can interact with them.

      Keep your user interface simple and provide clear feedback when transactions are pending on-chain.

    Learn it all, with a tutor that never sleeps

    Every topic links to LevelUp lessons, practice exercises and the 24/7 AI Tutor. Your progress updates as you master lessons.

    Every topic explained

    Step 1: Blockchain and Cryptography Basics

    Learn how blocks link together in a chain using cryptographic hashes to prevent tampering.
    Read more

    A blockchain is a shared digital ledger where data is grouped into blocks and chained together using cryptography. Each new block contains a mathematical fingerprint of the previous one, making past records nearly impossible to alter without breaking the chain.

    Imagine a group of friends keeping a shared expense notebook where every new page locks in all previous entries permanently. If anyone tries to alter an old bill, the page stamp changes instantly.

    This immutable linking matters because it creates a single source of truth across untrusted networks.

    • Data is grouped into sequential blocks
    • Cryptographic hashes link blocks securely
    • Tampering alters hash values immediately
    • Creates an unchangeable historical record
    Introduction to Ethereum (Ethereum Foundation)
    Explore how key pairs generate account addresses and sign transactions securely.
    Read more

    Public-key cryptography uses a math pair of keys to secure ownership on a blockchain. Your private key acts as your secret signature, while your public key derives your safe-to-share account address.

    Think of your public key as your bank account number that anyone can see, and your private key as your secret PIN that only you should ever know.

    Knowing how keys work lets you prove ownership and authorise transactions safely without ever revealing your secret credentials.

    • Private keys sign transactions securely
    • Public keys generate shareable addresses
    • Loss of private key means lost funds
    • Math prevents reversing public keys
    Understand how independent computers agree on valid transactions using proof of stake.
    Read more

    Consensus mechanisms are rules that allow independent computers across the world to agree on which transactions are valid. Proof of stake requires validators to lock up native tokens as collateral to participate.

    Picture a committee where members stake their own money as a pledge to be honest, losing funds if they try to cheat.

    Understanding consensus helps you see how decentralised systems stay secure and operational without needing a central bank.

    • Nodes agree on valid transaction orders
    • Proof of stake uses token collateral
    • Validators are rewarded for honesty
    • Malicious actors lose staked assets
    Consensus Mechanisms (Ethereum Foundation)
    (optional)
    Discover how software wallets manage secrets and interact with blockchain networks.
    Read more

    Crypto wallets are software interfaces that manage your private keys and let you interact with blockchain applications. They sign data requests so you can send tokens or approve smart contract actions.

    Think of a wallet as your digital passport and login manager rolled into one browser extension.

    Mastering wallets is essential because they bridge the gap between human intent and blockchain execution.

    • Wallets store and protect private keys
    • They sign actions for decentralised apps
    • Secret recovery phrases restore access
    • They display token balances and history

    Step 2: Ethereum and the EVM

    Understand how the Ethereum Virtual Machine executes deterministic code across the globe.
    Read more

    The Ethereum Virtual Machine is a global, decentralised computer that executes smart contract bytecode. Every participating node runs this same virtual machine to ensure identical results everywhere.

    Imagine a giant, shared spreadsheet engine that runs instructions identically on thousands of machines simultaneously.

    Knowing the EVM helps you write reliable code that behaves predictably across the entire decentralised network.

    • Executes compiled smart contract bytecode
    • Runs identically on every node
    • Ensures deterministic application logic
    • State changes sync globally
    Ethereum Virtual Machine (Ethereum Foundation)
    Learn how computation costs are measured in gas to prevent infinite loops and spam.
    Read more

    Gas is the unit that measures the computational effort required to execute operations on Ethereum. Users pay a fee in native currency for this gas to prevent infinite loops and network spam.

    Think of gas like fuel for a car where complex engines require more petrol than simple ones to travel the same distance.

    Optimising gas usage keeps your contracts affordable for everyday users to run.

    • Measures computational work required
    • Prevents infinite loops and spam
    • Paid in native network currency
    • Efficient code saves user money
    Gas and Fees (Ethereum Foundation)
    Study the difference between user-controlled accounts and smart contract accounts.
    Read more

    Ethereum has two account types: externally owned accounts controlled by human keys, and smart contract accounts controlled by code. Transactions move funds or trigger contract execution between them.

    Imagine a person writing a cheque versus an automated vending machine dispensing items when coins are inserted.

    Understanding account types helps you design secure multi-user applications.

    • EOAs are controlled by private keys
    • Contract accounts hold executable code
    • Transactions trigger state changes
    • Messages pass data between accounts
    (optional)
    Explore rollups and secondary networks designed to handle cheaper and faster transactions.
    Read more

    Layer 2 networks are secondary frameworks built on top of Ethereum to process transactions faster and cheaper. They bundle many actions together and post proofs back to the main chain.

    Think of a busy motorway using an express toll lane to reduce congestion on the main local roads.

    Layer 2 solutions are vital for scaling decentralised apps to a mass global audience.

    • Rollups process transactions off-chain
    • Reduces user fees significantly
    • Inherits main chain security
    • Settles final proofs on Ethereum

    Step 3: Smart Contracts with Solidity

    Learn variables, data types, and simple functions in the most popular smart contract language.
    Read more

    Solidity is the primary programming language used to write smart contracts for the EVM. Its syntax resembles languages like JavaScript, featuring contracts, functions, and standard variable types.

    Think of a Solidity contract as a digital vending machine script that defines rules for handling money and inventory.

    Learning Solidity syntax is your first direct step towards building functional decentralised applications.

    • Uses contract blocks like classes
    • Supports standard data types
    • Functions handle state modifications
    • Visibility keywords control access
    Solidity Documentation (Solidity)
    Master data location rules in Solidity to manage contract state and save gas.
    Read more

    Solidity requires you to specify where data lives, such as permanent storage, temporary memory, or call data parameters. Managing these locations correctly keeps your contract efficient and gas costs low.

    Imagine a kitchen where storage is your pantry for long-term ingredients, and memory is your countertop workspace for prep.

    Mastering data locations prevents memory corruption bugs and saves users money.

    • Storage holds permanent contract state
    • Memory is temporary working space
    • Calldata holds immutable input arguments
    • Incorrect usage increases gas fees
    Use modifiers to restrict function access and emit events for off-chain listeners.
    Read more

    Modifiers let you check conditions before running a function, such as ensuring only the owner can call it. Events allow contracts to log data that off-chain applications can listen for easily.

    Think of a security guard checking ID at a club door before letting guests enter the VIP room.

    Using modifiers and events keeps your code DRY and helps front-end apps track on-chain updates.

    • Modifiers enforce reusable check conditions
    • Events log data to transaction receipts
    • Off-chain apps listen to events
    • Reduces duplicate validation code
    Examine popular contract standards such as ERC-20 for tokens and ERC-721 for digital collectibles.
    Read more

    Token standards define common rules so different smart contracts can work together seamlessly. ERC-20 handles fungible tokens like currencies, while ERC-721 handles non-fungible tokens for unique digital items.

    Think of standards like electrical plug shapes that ensure any appliance fits any wall socket.

    Knowing these standards allows your tokens to integrate with wallets and trading platforms instantly.

    • ERC-20 defines fungible token rules
    • ERC-721 manages unique digital collectibles
    • Ensures cross-application compatibility
    • Standard interfaces prevent integration errors
    ERC-20 Token Standard (Ethereum Foundation)

    Step 4: Testing and Tooling

    Compile contracts, run local test nodes, and automate deployments using JavaScript or TypeScript.
    Read more

    Hardhat is a popular development environment that helps you compile, test, and deploy smart contracts using JavaScript or TypeScript. It provides a local node for rapid debugging.

    Imagine a workshop bench with automated tools that test your machinery parts before you install them in a building.

    Using Hardhat makes your development workflow smooth, repeatable, and error-free.

    • Compiles Solidity code into bytecode
    • Spins up local test networks
    • Runs automated test scripts
    • Supports custom deployment plugins
    Hardhat Documentation (Hardhat)
    Use Foundry to write fast smart contract tests natively in Solidity without JavaScript.
    Read more

    Foundry is a blazing fast smart contract development toolkit written in Rust, letting you write tests natively in Solidity. It runs thousands of tests in seconds.

    Think of Foundry as a high-performance wind tunnel that tests racing car designs under extreme conditions instantly.

    Foundry helps developers catch edge cases quickly using advanced testing techniques like fuzzing.

    • Tests written natively in Solidity
    • Executes test suites extremely fast
    • Supports fuzz testing for edge cases
    • Includes scripting for deployments
    Foundry Book (Foundry)
    Write automated test suites to verify that contract logic behaves as intended under all conditions.
    Read more

    Unit testing involves writing automated scripts that check individual functions in your smart contract under various expected and unexpected inputs.

    Imagine a quality control machine that tests a lightbulb switch one hundred times to ensure it never fails.

    Writing thorough unit tests gives you the confidence that your code will work correctly in production.

    • Tests individual contract functions
    • Verifies correct arithmetic and logic
    • Simulates failed permission checks
    • Catches regressions early
    (optional)
    Publish contracts to public test networks using free test currency before going live.
    Read more

    Testnets are public blockchains that mirror main network behaviour but use free tokens with no real financial value. Faucets are web tools that give you free test currency.

    Think of a flight simulator where pilots practice emergency landings without risking real passengers or planes.

    Testnets let you trial live deployments safely before committing real funds.

    • Mirror mainnet behaviour perfectly
    • Use free valueless test tokens
    • Faucets dispense test currency
    • Essential for final integration testing

    Step 5: Security and Auditing

    Understand how malicious contracts drain balances by interrupting external calls, and learn how to prevent it.
    Read more

    A reentrancy attack happens when a malicious contract calls back into your contract before your first transaction finishes updating state balances, draining funds.

    Imagine an ATM that starts dispensing cash before it finishes deducting the amount from your account balance.

    Preventing reentrancy is critical to protecting user funds from being stolen by hackers.

    • External calls interrupt execution flow
    • State updates must happen first
    • Mutex locks prevent nested calls
    • Can drain contract balances entirely
    Smart Contract Security (Ethereum Foundation)
    Recognise issues like integer errors, front-running, and improper access control.
    Read more

    Smart contracts often suffer from logic flaws like inaccurate access control, front-running where bots intercept transactions, and improper math assumptions.

    Think of leaving a back door unlocked in a secure vault because you forgot to check the bolt.

    Recognising these common flaws helps you write robust code that resists common hacker exploits.

    • Access control errors let strangers run admin functions
    • Front-running bots exploit transaction order
    • Integer overflow risks require safe math
    • Unchecked return values cause silent failures
    (optional)
    Run static analysers and linters to catch suspicious contract patterns before shipping.
    Read more

    Automated security tools are static analysers that scan your contract code for known vulnerability patterns and coding standard violations without running them.

    Imagine a spellchecker that highlights grammatical errors and typos as you type an essay.

    Running these tools catches silly mistakes early in your development cycle.

    • Static analysis scans code without execution
    • Flags known vulnerability signatures
    • Checks coding style and guidelines
    • Complements manual code reviews

    Step 6: Building Decentralised Apps

    Use client libraries to read blockchain data and send transactions from web applications.
    Read more

    Libraries like Ethers.js and Viem provide JavaScript interfaces to connect web applications with the blockchain, letting you read data and send signed transactions.

    Think of these libraries as translators that let a web browser speak the native language of the blockchain.

    Mastering these tools enables you to build fully interactive decentralised web applications.

    • Connects web apps to blockchains
    • Reads state and balance data
    • Sends signed transaction requests
    • Listens for live contract events
    Ethers Documentation (Ethers)
    Prompt users to connect browser extensions like MetaMask to sign actions on your app.
    Read more

    Wallet connection tools prompt users to connect their browser extensions, allowing your web app to request signatures and transaction approvals securely.

    Imagine a website asking for permission to sign in securely using your digital identification badge.

    Seamless wallet connection is the gateway for users to interact with your decentralised app.

    • Requests user permission to connect
    • Retrieves connected account addresses
    • Prompts user to sign transactions
    • Handles network switching requests
    Use Application Binary Interfaces to translate between human code and on-chain bytecode.
    Read more

    An Application Binary Interface is a JSON file that tells your web app how to encode and decode data when talking to a smart contract.

    Think of an ABI as a phrasebook that translates human function names into binary bytecode instructions.

    Working with ABIs ensures your front-end code communicates correctly with on-chain contracts.

    • JSON file describing contract functions
    • Translates human calls to bytecode
    • Required by client libraries
    • Generated during compilation
    (optional)
    Store images and metadata on networks like IPFS instead of paying high on-chain gas costs.
    Read more

    Decentralised storage networks like IPFS store large files such as images and metadata across peer-to-peer nodes instead of expensive on-chain storage.

    Think of storing heavy photo albums in a shared community locker, while keeping only the receipt key inside your wallet.

    Using IPFS keeps your decentralised application lightweight and cost-effective.

    • Stores large files off-chain
    • Uses content hashing for verification
    • Reduces high gas storage costs
    • Integrates easily with token metadata

    Related roadmaps