Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Solidity, Ethereum and Blockchain: The Complete Developer's Guide
Introduction
Solidity, Ethereum, and Blockchain: The Complete Developer's Guide (2:45)
Course Introduction (3:45)
Exercise: Meet Your Classmates and Instructor
ZTM Plugin + Understanding Your Video Player
Course Code + Projects + Cheatsheet
Set Your Learning Streak Goal
Through The Looking Glass: A Peek Into The Blockchain
Blockchain World (0:37)
The Birth of Blockchain (1:42)
What Is A Blockchain? (2:26)
Blockchain Visualized (2:15)
Blockchain Playground (4:29)
DeFi Farmer's Market (1:41)
Let's Have Some Fun (+ Free Resources)
Blockchain 101
The Problem with Digital Money (1:57)
Creating a Digital Currency (4:12)
Finding Consensus: The Byzantine Generals (2:55)
Shirley: The Woman with 16 Personalities (3:45)
Mining (6:16)
The Blockchain (6:52)
A Birthday for Bitcoin (5:28)
Proof of Work vs. Proof of Stake (3:00)
Unlimited Updates
Ethereum 101
Smart Contracts (4:16)
A Look at Decentralized Banks (2:31)
Bitcoin Automation vs. Ethereum Automation (4:55)
Ethereum Virtual Machine (EVM) (4:51)
How to Interact with Smart Contracts (4:40)
Smart Contract Visualization (3:52)
Gas (5:27)
Ethereum Development Overview
Architecture of a Typical DApp (6:50)
Ethereum Networks (3:38)
Swapping like a Unicorn (7:15)
Ethereum Versions (4:17)
Inspecting the Blockchain (5:16)
Do You Want To Become A Solidity Developer? (4:33)
Hot Contracts (2:31)
Solidity Fundamentals
What is Solidity? (5:53)
Solidity Versions (6:21)
First Smart Contract in Solidity (7:04)
Anatomy of a Smart Contract (2:25)
Writing Your First Contract (2:48)
Normal vs. View Functions (3:11)
Testing Your First Contract (3:45)
Payable and Pure Functions (4:48)
Payable in Remix (4:54)
Public vs. Private Functions (4:46)
Deployment with Remix (2:34)
We Don't Want This Transaction! (6:09)
Exercise: Solidity Fundamentals
Exercise: Imposter Syndrome (2:55)
Creating Your Own ERC-20 Token
That's My Type! (5:55)
Numbers, Numbers, Numbers (5:48)
Public vs. Private State (3:56)
Immutable vs. Constant State (4:10)
What is ERC and EIP? (4:33)
What is the ERC-20 Standard? (3:49)
Why Do We Need The ERC-20 TransferFrom? (4:16)
ERC-20 State Remix (3:20)
ERC-20 Transfer Remix (7:20)
ERC-20 Transfer Remix Test (3:40)
Mappings are Kings (5:25)
Mapping Getters (1:36)
Default Values (2:52)
ERC-20 TransferFrom Remix (6:23)
ERC-20 TransferFrom Improvements Remix (4:07)
ERC-20 Why Return True (2:53)
ERC-20 TransferFrom Remix Test (4:07)
Something Is Happening On The Blockchain... (2:59)
Bloom Filters (3:01)
Something Is Happening In Solidity... (4:39)
Logging in Contracts (3:33)
Something Is Happening In Our ERC-20... (3:53)
Exercise: ERC-20
Course Check-In
Unique Solidity Features and Patterns
Initializing a New Contract (2:43)
Initializing our ERC-20 (4:38)
Memory, Calldata or Storage (6:04)
Message Variable (4:47)
Block Variable (3:35)
Unique Type: Address (2:14)
Calling Other Addresses (2:59)
Transfer ETH Call (2:44)
Reentrancy (6:11)
Contract Type (3:02)
Creating New Contracts in Solidity (0:59)
Creating New Tokens (4:01)
Burning Tokens (2:54)
Function Modifiers (5:13)
Stages with Enums (3:06)
Checked Arithmetic (4:55)
Checked Arithmetic in Remix (2:45)
Structuring State Data (2:42)
Getting Wiser with Libraries (4:54)
Exercise: Solidity
Implement a New Life System
Inheritance
Importing Contracts (3:15)
The Smart Contract Heirs (3:52)
Parents (2:10)
Internal (2:20)
Grandfather (1:28)
Children (1:30)
Incest (1:53)
No Circles (1:03)
Constructors (3:42)
Virtual and Override (5:03)
Polymorphism (5:11)
Abstract (2:38)
Interfaces (5:20)
Exercise: Inheritance
Foundry
Development Setup (2:10)
Install VS Code (1:32)
Customize VS Code (4:54)
Install Foundry (3:35)
Foundry Overview (1:30)
Cast (5:29)
Setting Up Infura Key (2:26)
Anvil (2:27)
Chisel (1:43)
Foundry Init (4:29)
Foundry Test Setup (4:43)
Foundry Failing Test (4:42)
Foundry Succeeding Test (1:33)
Foundry Assertions (3:34)
Forge Test Verbose (3:37)
Code Formatting (1:40)
Testing Structure (3:07)
Console Logging (4:02)
Revert Test (3:24)
VM and forge-std (4:31)
Event Test (3:37)
Forge Create (4:53)
Forge Script (6:34)
Forge Script Improvements (7:45)
Exercise: Foundry
Hardhat
Introduction (0:49)
Foundry vs. Hardhat (1:34)
Hardhat Requirements (1:39)
Initializing Project (6:24)
Files and HH (4:11)
Test Setup (7:12)
Token Transfer Test (3:39)
Normal Mocking (5:35)
Smock Mocking (7:10)
Transfer Assertions (7:11)
Logging (2:58)
Sending From Different Acounts (1:38)
Reverts (4:18)
Event Testing (3:11)
Refactor Code (7:01)
Fixtures (3:44)
Network Helpers (1:18)
Script (4:29)
Deployment (5:48)
Contract Verification (3:14)
Hardhat + Foundry (4:38)
Exercise: Hardhat
DeFI Example: Implementing Your Own Stablecoin
Centralized Stablecoins (2:42)
Decentralized Stablecoins (4:14)
Designing a Decentralized Stablecoin (2:03)
Visualizing Collateral Price Increase (3:59)
Visualizing Collateral Price Decrease (3:30)
Visualizing Bankrupt Stablecoin (5:52)
Creating Our Tokens (4:41)
Depositor Coin Mint + Burn (1:53)
Stablecoin Mint (3:38)
Stablecoin Burn (4:38)
Deposit Collateral Buffer (8:22)
Withdraw Collateral Buffer (5:48)
Calculating Surplus (5:34)
ETH Price (5:23)
Ask The Oracle (5:45)
Adding Fees (5:06)
Deploying Depositor Coin (5:26)
Calculating Deficit (5:18)
Handling Under Water (7:04)
Initial Collateral Ratio (5:56)
Time-locked Depositor Coin (5:40)
Allowing First Depositor Coin Minting (4:17)
Fixed Point Math (4:46)
Custom Addition Operator (5:39)
More Custom Operators (6:14)
Integrating Fixed Points Into Deposits (6:57)
Integrating Fixed Points Into Withdrawals (2:18)
Fixed Point Libraries (2:31)
Customizing Your Errors (5:29)
Exercise: Stablecoin
A Decentralized Casino
Randomness on the Blockchain (3:29)
Why Randomness for Ethereum PoS? (3:08)
Understanding Prevrandao (3:13)
Play Game Function (4:14)
Play Game Remix (3:50)
Play Game with Randomness (5:44)
Alternative Prevrandao Uses (1:45)
Prevrandao Discussion (1:55)
Commitments (9:15)
Implementing Chainlink VRF (9:43)
Testing Chainlink VRF (4:38)
Fallback Functions (3:41)
Arrays (6:11)
Winners with Arrays (5:03)
Exercise: Decentralized Casino
Conclusion
Solidity Unknowns (3:09)
Security and Gas (3:01)
Design Patterns (1:45)
Blockchains (1:53)
The Future of Blockchains (1:13)
Where To Go From Here?
Thank You (1:18)
Review This Course!
Become An Alumni
Learning Guideline
ZTM Events Every Month
LinkedIn Endorsements
Inspecting the Blockchain
This lecture is available exclusively for ZTM Academy members.
If you're already a member,
you'll need to login
.
Join ZTM To Unlock All Lectures