Code Overview

Going through the code we will be writing throughout this section

Solidity Developer

Advanced Foundry

1. Introduction
A deep dive into the technicalities of account abstraction - This lesson unpacks the concept of account abstraction, covering what it is, the benefits it offers over current wallet systems, and how it's implemented in practice. Learn the different ways account abstraction interacts with different blockchains, from the new Ethereum entry point to zkSync's native account abstraction. Duration: 11min
2. Code Overview
Going through the code we will be writing throughout this section Duration: 4min
3. Ethereum Setup
Creating an account smart contract for Ethereum Duration: 10min
4. PackedUserOperation
Understanding the PackedUserOperation struct! Duration: 2min
5. Validate UserOp
Adding a function validateUserOp to validate a UserOp signature Duration: 15min
7. EntryPoint Contract
Adding the EntryPoint contact to the Ethereum smart contract account. Duration: 3min
8. Execute Function Ethereum
Adding the execute function so the account can send transactions from the owner or the EntryPoint. Duration: 8min
9. Deployment Script for an Ethereum Account
Creating a deployment (and helper) script to deploy an Ethereum account! Duration: 12min
10. Test Owner can Execute
Writing a test to check the owner of the account can execute a transaction Duration: 13min
11. Unsigned PackedUserOperation Test
Test that an unsigned PackedUserOperation userOp does not pass. Creating the SendPackedUserOp.s.sol script to send a PackedUserOperation. Duration: 11min
12. Signed UserOp Test
Create a test to recover the signer UserOp and check the signer is the owner. Duration: 23min
13. Local Dev Unlocked
Using unlocked accounts to sign messages using vm.sign. Duration: 4min
14. Test Validate UserOps
Testing the validateUserOps function to check the validation is working correctly. Duration: 5min
15. Test EntryPoint
Test that EntryPoint contract can execute the commands. Duration: 6min
16. Advanced Debugging
Going through some Foundry debugging tools to fix your bugs and issues in your code. Duration: 5min
17. Mid Session Recap
Recapping everything you have learned so far! (go get an ice cream for this section) Duration: 4min
19. Live Demo on Arbitrum
Deploying and sending a UserOp on Arbitrum using the Ethereum smart contract account Duration: 8min
20. zkSync Setup
Setting up the zkSync smart contract account contract. Duration: 9min
21. Iaccount
Understanding the IAccount interface and how transactions are structured on zkSync. Duration: 8min
22. System Contracts
Introduction to understanding what System Contracts are on zkSync and where they are used with zkSync accounts. Duration: 4min
23. Type 113 Lifecycle
The lifecycle of a type 113 transaction on zkSync. Duration: 7min
24. zkSync Accounts Recap
A recap of how accounts work on zkSync. Duration: 3min
25. zkSync Transaction Simulations
Simulating a transaction on zkSync using the system contracts when validating the transaction. Duration: 14min
26. Validate Transaction zkSync
Adding a function to validate the transaction in a zkSync account. Duration: 12min
27. Execute Function zkSync
Adding a function to execute the transaction in a zkSync account. Duration: 9min
28. Pay For Transaction zkSync
Adding a function to pay for the transaction using the Bootloader System Contract in a zkSync account Duration: 3min
29. Execute Transaction From Outside
Adding a function to execute the transaction from outside the account. Duration: 8min
30. zkSync Tests
Adding tests for the zkSync account. Duration: 6min
31. Transaction Struct
How to build a transaction struct. Duration: 9min
32. Via Ir
Using --via-ir to compile to middle language to allow test more effectively. Duration: 2min
33. Validate Transaction Test
Adding a test to check that validateTransaction is validating the transaction correctly. Duration: 14min
34. Clean Up zkSync
Cleaning up the zkSync account code. Duration: 3min
35. Testnet zkSync Demo
A testnet demo! Duration: 5min
37. Recap End
Recapping everything we have learned in this section! Duration: 8min

Course Overview

About the course

What you'll learn

Advanced smart contract development

How to develop a stablecoin

How to develop a DeFi protocol

How to develop a DAO

Advanced smart contracts testing

Fuzz testing

Manual verification

Course Description

Welcome to the complete, advanced Solidity smart contract development course using Foundry. This is the only course you need to learn advanced Solidity development and smart contract testing skills. Level up your career as a blockchain engineer with advanced Foundry for Solidity.

The course covers a massive number of tools and technologies. You will learn:

  • Foundry

  • How to develop a DeFi protocol and a stablecoin

  • How to develop a DAO

  • Advanced smart contract development

  • Advanced smart contracts testing and fuzzing

  • Manual verification

Cyfrin Updraft has taught over 60,000 students advanced web3 development with Foundry. This advanced smart contract development course is without a doubt the most comprehensive, up-to-date, blockchain development course available online.

Learn Advanced Foundry for Solidity. Over 13 hours of video and written lessons, quizzes, and four full-fledged projects to practice your skills.

If you’ve completed the previous courses in the Solidity development path on Cyfrin Updraft or already have experience with Solidity programming, Foundry, Blockchain Oracles, and smart contract testing, this is the right course for you.

Advanced Foundry for Solidity will take you from Intermediate to advanced smart contract engineer. Here's why:

  • The world’s leading Solidity smart contract developers and web3 educators teach the course.

  • Courses are always up to date and reflect the latest industry standards. Learn the latest tools and technologies, used at large companies and protocols, with fresh content. Including new projects and modules.

  • The curriculum was developed and refined over a one-year period through comprehensive student testing, feedback, and reviews.

  • We've taught over 60,000 students how to write secure, advanced Solidity smart contracts, DeFi, decentralized applications (dApps), and blockchain technology.

  • Thousands of students have changed their lives. They’ve become blockchain engineers, smart contract and dApp auditors, or professional blockchain developers. Many choose to join industry-leading companies.

Engaging video tutorials take you step-by-step. Learn everything you need to know to succeed as a web3 developer.

Advanced Foundry for Solidity will help you build your programming knowledge.

Develop real-world smart contracts and applications and enrich your web3 development smart contracts portfolio!

Regardless of your operating system—Linux, MacOS, or Windows—we've got you covered.

By the end of this course, you will be fluent in programming Solidity smart contracts and ready to make any protocol you can think of.

Sign up today completely for free, and look forward to:

  • 100+ Animated video lectures

  • Code challenges and coding exercises

  • 4+ Real-world projects

  • Quizzes and practice tests

  • Links to the GitHub repositories containing all course files

  • Access to our community of thousands of web3 developers to support you

  • $10,000+ worth of web3 development bootcamp course materials and course curriculum

So what are you waiting for? Learn advanced smart contract development and testing using Foundry. Kickstart your career as a smart contract developer!

Who is this course for?

  • Engineers
  • Smart Contract Security researchers

Potential Careers

Web3 Developer Relations

$85,000 - $125,000 (avg. salary)

Web3 developer

$60,000 - $150,000 (avg. salary)

Smart Contract Engineer

$100,000 - $150,000 (avg. salary)

Smart Contract Auditor

$100,000 - $200,000 (avg. salary)

Security researcher

$49,999 - $120,000 (avg. salary)

Meet your instructors

Patrick Collins

Patrick Collins

Founder at Cyfrin

Web3 engineer, educator, and Cyfrin co-founder. Patrick's smart contract development and security courses have helped hundreds of thousands of engineers kickstarting their careers into web3.

Guest lecturers:

Juliette Chevalier

Juliette Chevalier

Lead Developer relations at Aragon

Ciara Nightingale

Ciara Nightingale

Developer relations at Cyfrin

Vasiliy Gualoto

Vasiliy Gualoto

Developer relations at ThirdWeb

Nader Dabit

Nader Dabit

Director of developer relations at EigenLayer

Ally Haire

Ally Haire

Developer relations at Protocol Labs

Harrison

Harrison

Founder at GasliteGG

Vitto Rivabella

Vitto Rivabella

CPO at Cyfrin

Last updated on March 26, 2025

Testimonials

Students Reviews

Read what our students have to say about this course.

If there’s one resource that Web3 developers point to, it’s Cyfrin’s ultimate tutorials. They’re standout resources that have empowered countless developers to learn blockchains, learn Solidity, and dive deep into Web3 development.

Chainlink

Chainlink

Chainlink

I took Cyfrin course and I’ve been working as a solutions developer at OpenZeppelin for the last few months. It was by far the most comprehensive resource and the one that really teached me the fundamentals and made me want to switch from web2 to web3.

Gustavo Gonzalez

Gustavo Gonzalez

Solutions Engineer at OpenZeppelin

Cyfrin Updraft videos on smart contract development have been instrumental in my blockchain journey, standing out with their clarity and accessibility. Their readiness to support and engage with learners makes me excited for more of their interactive and insightful content in the Web3 space

Francesco Andreoli

Francesco Andreoli

Lead Devrel at Metamask

The Cyfrin courses were a game-changer for me. They provided a well-structured and comprehensive introduction to web3 and blockchain development. The knowledge I gained allowed me to transition into a full-time role as a blockchain developer. I can't recommend these courses enough!

Albert Hu

Albert Hu

DeForm Founding Engineer

I took Cyfrin’s courses, and I took them seriously. At least one hour every day, documented the progress, didn’t skip any second. Haven’t found a better web3 course since. Now I’m full-time in web3, working as Senior Developer Advocate at Ceramic Network.

Radek

Radek

Senior Developer Advocate at Ceramic

Cyfrin have been an absolute game-changers in my journey into blockchain. Saying their courses were remarkable, would be an understatement. Thanks to their expert guidance, I gained a deep understanding of blockchain to its roots. I'm forever grateful for their role in helping me get started in web3.

Boidushya

Boidushya

WalletConnect

Cyfrin blockchain and Foundry/AI courses were incredible. I've gained valuable knowledge, grown, empowering myself and others. Thank you, Cyfrin!

Idris

Idris

Developer Relations Engineer at Axelar

Cyfrin
Updraft
CodeHawks
Solodit
Resources