• Post category:StudyBullet-15
  • Reading time:15 mins read


Learn solidity & foundry the way industry experts use them. This course is for developers who want to become pros.

What you will learn

Become an intermediate smart contract & solidity developer

Learn the cutting edge technologies, taught by industry experts

Learn to build DeFi, NFTs, DAOs, and basic smart contract auditing skills

Deploy your first smart contract on a real test blockchain – for free!

Description

This course will give you a full introduction into all of the core concepts related to blockchain, smart contracts, Solidity, ERC20s, full-stack Web3 dapps, decentralized finance (DeFi), Chainlink, Ethereum, upgradable smart contracts, DAOs, aave, IPFS, and more. Follow along with the videos and you’ll be a blockchain wizard in no time!

We teach cutting edge artificial intelligence tactics to become a smarter, faster developer. We have security experts, smart contract developer experts, and people who don’t just teach smart contracts, but this course is taught by people who mainly ARE smart contract developers. So you’re going to get exactly the skills we’d look for in order to hire someone in the web3 world.

And we give you the skills to start your career here.

This course is taught by the #1 educator in Web3 – Patrick Collins. A smart contract engineer, security researcher, and lover of all things web3.

This course is additionally 100% free on Patrick Collins’ YouTube, however, buying it here can:


Get Instant Notification of New Courses on our Telegram channel.


– Help support the top quality free content

– Give you the motivation to keep learning, since you paid for it

– Get the Udemy interface

Good luck, and I’m sure if you stick with it, you’ll come out the other side armed with the knowledge needed to be a force for good in crypto.

English
language

Content

Lesson 0: The Edge of the Rabbit Hole

Introduction & Best Practices

Lesson 1: Blockchain Basics

What is a blockchain?
The purpose of smart contracts
Quick Recap
Your first transaction
Introduction to Gas
How a blockchain works
Signing a transaction
Gas II
High Level Fundamentals
Optional – NFT Challenges

Lesson 2: Welcome to Remix – Remix Simple Storage

Introduction
Introduction to Remix
Solidity Types
Solidity Functions
Arrays and Structs
Errors and Warnings
Memory, Storage, and Calldata
Mappings
Deploy your smart contract
Recap

Lesson 3: Remix Storage Factory

Introduction
Setup
Deploying a contract from a contract
Imports
AI Help
Interacting with contract ABIs
Inheritance
Recap

Lesson 4: Remix Fund Me

Introduction
Setup
Sending ETH through a function
Reverts
Getting data from Chainlink
Quick Recap
Interfaces
AI Help III
Importing from NPM & GitHub
Getting prices from Chainlink
More Solidity Math
msg.sender
Recap II
Library
Safemath
For Loops
Resetting an array
Transfer, Send, Call
Constructor
Modifiers
Testnet Demo
Advanced: Immutables & Constants
Advanced: Custom Errors
Advanced: receive & fallback
Final Recap

Lesson 5: AI Prompting, Asking Questions, and Getting Help

Introduction & AI Prompting
Setting up GitHub
Formatting a question
Speed Run ETH

Lesson 6: Foundry Simple Storage

Introduction
MacOS / Linux Install (Mac / Linux users only)
Windows Install (Windows users only)
GitPod (Not recommended)
Foundry Install
VSCode Setup
Foundry Setup
Formatting solidity in VSCode
Compiling Foundry
Deploying to a local chain
Adding networks to MetaMask
Deploying to a local chain II
Private key safety I
Deploying to a local chain III
What a transaction really is
Private key safety II
Thirdweb deploy
Cast send
Deploying to a testnet
Manual Verification
Cleaning up
Alchemy
Recap

Lesson 7: Foundry Fund Me

Introduction
Testing Introduction
Setup (Continued)
Tests
Debugging Tests
Advanced Deploy Scripts
Forked tests
Testing deploy scripts
Refactoring II Helper Config
Refactoring III Mocking
Magic Numbers
Refactoring III (Continued)
More Cheatcodes
More Coverage
Chisel
Cheaper Withdraw
Storage
Cheaper withdraw continued
Interactions.s.sol
Makefile
Pushing to GitHub
Recap

Lesson 8: Html/Js Fund Me (Quick Fullstack / Front End Tutorial)

Introduction
How MetaMask works with the browser
Function Selectors
Recap

Lesson 9: Foundry Smart Contract Lottery

Introduction
Layout
Custom Errors II
Events
block.timestamp
Chainlink VRF
Implementing Chainlink VRF
Modulo
Enums
Resetting an array
A note on building…
CEI (Checks, Effects, Interactions)
Introduction to Chainlink Automation
Implementing Chainlink Automation
Mid Lesson Recap
Tests and deploy script
Mock Chainlink VRF
Tests and deploy continued
Lots of tests
Testing events
vm.roll & vm.warp
Create Subscription
Create Subscription UI
Fund Subscription Script
Add Consumer Script
More Tests
Perform Upkeep Tests
Getting event data into Foundry
Introduction to fuzz testing
One big test
Passing the private key in
Integration Tests
Testnet demo w/ makefile
Testnet demo – the demo
console.log debugging
forge test –debug
Recap

Lesson 10: Foundry ERC20s

Introduction
Manual Creation
OZ Token
Deploy script
AI Tests & Recap

Lesson 11: Foundry NFTs | MoodNFT

Introduction
What is an NFT?
Foundry Setup
IPFS
Using IPFS
Deploy script
Basic NFT Tests
Basic NFT Interactions
Basic NFT Testnet Demo
The issue with IPFS & https
What is an SVG?
SVG NFT Introduction
SVG NFT Encoding the NFT
SVG NFT Flipping the mood
SVG NFT Deploy script
SVG NFT Debugging practice
SVG NFT Anvil demo
Filecoin & Arweave
Advanced: Encoding, opcodes, and calls
Advanced: Calling and encoding functions directly
Advanced: Quick Recap
Advanced: Function signatures & selectors
Advanced: Verifying MetaMask transactions
Recap

Lesson 12: Foundry DeFi | Stablecoin

Introduction
Code walkthrough
What is a stablecoin (but actually)
DecentralizedStablecoin.sol
DSCEngine.sol
depositCollateral
mintDsc & getCollateralValue
healthFactor
Minting the DSC
Deploy script
Tests
depositCollateralAndMintDsc
redeemCollateral
Liquidate Setup
Liquidate Refactor
Level up tests
Open fuzz tests
Handler fuzz tests
Handler stateful fuzz tests – revert on fail
Handler stateful fuzz tests – redeeming collateral
Handler stateful fuzz tests – minting DSC
Handler stateful fuzz tests – debugging
Price feed handling
OracleLib
Audit Preparedness
Recap
Lens Protocol

Lesson 13: Foundry Upgrades

Introduction & What are upgradable contracts?
delegatecall
EIP-1967
UUPS Setup
UUPS Deploy
UUPS Upgrade
UUPS Tests
Testnet demo

Lesson 14: Foundry DAO / Governance

Introduction
Aragon
Setup
Governance Token
Governor
Tests
Wrap up and gas tips

Lesson 15: Smart Contract Security & Auditing (For developers)

Introduction
What is a smart contract audit
Tools used by professionals
Manual review process
Formal verification
Wrap up & Congratulations