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
Why Randomness for Ethereum PoS?
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