It’s not often that there’s a “best” educational resource for any particular subject. But if there’s one resource that Web3 developers point to, it’s former Chainlink Labs Developer Advocate Patrick Collin’s ultimate tutorials. They’re standout resources that have empowered countless developers to learn blockchains, learn Solidity, and dive deep into Web3 development.
Depending on the edition, these videos can range from anywhere between 16 hours and 32 hours. They’re meant to be watched and rewatched over months and years, rather than seconds and minutes. While this can be a large time investment, there’s likely no better way to start learning how to code in Web3.
In this blog, we break down Patrick’s most recent tutorial—a three-part, ~27-hour step-by-step tutorial focused on the Foundry development toolkit—so students can understand exactly what they’ll learn by reading below.
Web3 development moves fast—it’s important to learn from up-to-date resources. This video currently represents one of the most recent and comprehensive Web3 courses that exist today.
- Part One (Lessons 1-6)
- Part Two (Lessons 7-11)
- Part Three (Lessons 12-15)
- GitHub Repository
- Solidity Handbook
The Solidity Handbook by Chainlink Labs Developer Advocate Zubin Pratap is an all-in-one resource for when you need a quick refresher on Solidity concepts.
Lesson 1: Blockchain Basics
In the first lesson, Patrick provides the context needed to understand the layers of the Web3 tech stack. From industry terminology like “dApp” and “smart contract” to blockchain basics such as hashes, gas fees, and block headers, this lesson provides the background necessary to understand what’s unique about Web3 development.
- Navigate blockchain explorers like Etherscan.
- Understand hashes and block headers through educational demos.
- Make your first on-chain transaction.
Lesson 2: Welcome to Remix
This lesson introduces Remix, a powerful integrated development environment (IDE) for developing Solidity smart contracts. In just a few hours, Patrick provides a step-by-step walkthrough of basic Solidity concepts such as types, functions, arrays, mappings, and structs. Additionally, he outlines core development concepts such as memory, storage, and calldata.
By the end of this lesson, students will have set up their first smart contract and gained a basic understanding of Solidity and the Ethereum Virtual Machine (EVM)—a good first step for moving on to more complex and advanced contracts.
Lesson 3: Remix Storage Factory Introduction
In this lesson, students will begin experimenting with more advanced coding concepts in Remix.
Most decentralized applications today are built as a collection of smart contracts that all work together to create a unified application. This lesson teaches you how to create multiple smart contracts that interact with each other in a logical and efficient way. It also introduces one of the most important concepts not only in Web3 development but in computer science at large: Inheritance.
Lesson 4: Remix Fund Me Introduction
In the fourth lesson of this free blockchain course, students learn how to create a crowdfunding application through two different smart contracts: FundMe.sol and PriceConverter.sol.
By following along with and completing this demo application, students learn the basic keywords needed to securely send ether through a function and how to integrate Chainlink Price Feeds—the best-in-class price oracle solution for DeFi—to create price conversions. The lesson introduces both general and Solidity-specifc concepts such as loops, constructors, modifiers, immutability, constants, fallbacks, and interfaces.
Lesson 5: AI Prompting, Asking Questions, and Getting Help
This lesson focuses on enhancing your learning experience by providing tips for supercharging your learning experience, tips and tricks for setting up a GitHub and correctly formatting questions for the best results, and working with AI tools that can 10X learning and performance.
Students will also be introduced to SpeedRunEthereum, a platform designed to assist in their learning journey.
Lesson 6: Foundry Simple Storage Introduction
Lesson six of this blockchain course for beginners moves students from Remix to Foundry—an Ethereum developer toolkit written in the Rust programming language.
Patrick provides step-by-step instructions on the installation and setup, with separate instructions for MacOS, Linux, and Windows, and introduces Gitpod as a tool for local development. Once everything is set up, students will learn how to work with the VSCode editor and frameworks such as ThirdWeb and Alchemy, as well as tools for deploying to local chains.
Lesson 7: Foundry Fund Me Introduction
Lesson seven dives deeper into Foundry, with students learning how to test in a blockchain environment—including setup, debugging, and coverage.
Specifically, Patrick outlines how to better manage gas in the context of storage and withdrawals for smart contracts, walks through the process of testing and debugging code, and introduces advanced deploy scripts, refactoring, and magic numbers. Additionally, students will learn the logistical process needed to push code to GitHub—one of the most basic skills needed to work as a professional developer alongside a larger team.
Lesson 8: Html/Js Fund ME
Through this lesson, students will understand how the Metamask wallet works with their browser and get introduced to function selectors, which are crucial for interacting with smart contracts.
Lesson 9: Foundry Smart Contract Raffle Introduction
In lesson nine of this blockchain course, students will build a smart contract raffle demo using Foundry. They’ll learn how to set up a “Raffle.sol” contract that uses Chainlink Verifiable Random Function (VRF) and Automation to generate a random number that’s used to pick the raffle winner.
By building this smart contract application with the help of Patrick’s step-by-step tutorial, students will learn about custom errors, events, and block.timestamp, how to generate random numbers on-chain using Chainlink VRF, and how to automate smart contract functions using Chainlink Automation.
Lesson 10: Foundry ERC20s
This lesson covers everything ERC (Ethereum Request for Comment). By the end of this lesson, students will understand what an ERC, EIP, and ERC-20 are in a technical sense by following a series of steps.
First, they’ll learn how to manually create an ERC-20 token, including the information needed to deeply understand the token standard. Then, students will learn how to use OpenZeppelin templates to create tokens (OpenZeppelin is a popular library for secure contract implementations) and then deploy their tokens on a testnet.
Additionally, students will learn how to build AI tests, which can streamline the process of testing blockchain applications.
Lesson 11: Foundry NFTs | MoodNFT
This lesson introduces non-fungible tokens (NFTs), also known as the ERC-721 token standard.
By following along with Patrick in this lesson, students will learn what an NFT is, how to create an NFT smart contract, how to use decentralized storage solutions such as IPFS or create NFT images using SVG, and how to directly encode function calls.
Lesson 12: Foundry DeFi | Stablecoin
Lesson 12 delves into the world of decentralized finance (DeFi), from stablecoins and lending to auditing, fuzz testing, and more. In the pinnacle lesson of this tutorial, students will get an overview of the DeFi ecosystem, learn about one of the most prominent token types (stablecoins), and walk step-by-step through the code needed to build a decentralized stablecoin.
This lesson also instructs students on how to work with DeFi protocols such as Aave’s lending protocol, which naturally covers concepts such as collateral, mints, price oracles, and liquidations. And because DeFi applications must make security their top priority, Patrick introduces one of the best testing techniques in Web3—fuzz testing.
Lesson 13: Foundry Upgrades
This lesson provides an introduction to upgradeable smart contracts, which are how Web3 developers securely add functionality to immutable contracts.
Patrick summarizes the different types of upgrade techniques, introduces delegate calls, and compares universal upgradable smart contract proxies (UUPS) to transparent proxy patterns.
Lesson 14: Foundry DAO/Governance
In lesson 14, students will learn about another core Web3 concept—decentralized autonomous organizations (DAOs), which are tools used for governing decentralized applications.
Patrick not only explains what a DAO is at a fundamental level, but also provides step-by-step instructions on how to set up a DAO by creating a governance token and smart contract and running tests for your DAO smart contract to ensure correct functionality and execution.
Lesson 15: Smart Contract Security and Auditing
The final lesson of the 27-hour development tutorial focuses on smart contract security and auditing.
Students will learn about the importance of smart contract audits, the process of manual review, and various tools and techniques used in the auditing process, such as static analysis, dynamic analysis, formal verification, and fuzzing.
Get Started Today
As one of the best blockchain courses on the Internet today, Patrick’s 27-hour Foundry tutorial is a great starting point for anyone aiming to break into Web3 development, whether that means learning to code for the first time or transitioning skills from Web2.
Because there’s massive demand for smart contract developers and a relatively small talent pool, there’s heaps of opportunity available for those with the tenacity, will, and dedication to complete this 27-hour-long free blockchain course. There’s no better time to get started than right now.
Start learning today.