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
Understanding Your Video Player (notes, video speed, subtitles + more)
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
A Look at Decentralized Banks (2:31)
Smart Contracts (4:16)
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
The Smart Contract Heirs (3:52)
Importing Contracts (3:15)
Parents (2:10)
Internal (2:20)
Grandfather (1:28)
Children (1:30)
Incest (1:53)
No Circles (1:03)
Constructors (3:42)
Virtual 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)
Integrating Fixed Points Into Deposits (6:57)
More Custom Operators (6:14)
Integrating Fixed points Into Withdrawals (2:18)
Fixed Point Libraries (2:31)
Customizing Your Errors (5:29)
Exercise: Stablecoin
A Decentralized Casino
Why Randomness for Ethereum PoS? (3:08)
Randomness on the Blockchain (3:29)
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
Security and Gas (3:01)
Solidity Unknowns (3:09)
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
LinkedIn Endorsements
Coding Challenges
You've Reached The Archive
Why Are The Below Lessons Archived?
ARCHIVED (available until June 30, 2023) - 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:51)
A Birthday for Bitcoin (5:28)
Proof of Work vs. Proof of Stake (3:00)
ARCHIVED (available until June 30, 2023) - Ethereum 101
A Look at Decentralized Banks (2:31)
Smart Contracts (4:16)
Bitcoin Automation vs. Ethereum Automation (4:55)
Ethereum Virtual Machine (EVM) (4:50)
How to Interact with Smart Contracts (4:40)
Smart Contract Visualization (3:52)
Gas (5:27)
ARCHIVED (available until June 30, 2023) - Ethereum Development Overview
Architecture of a Typical DApp (5:54)
Swapping like a Unicorn (6:03)
Inspecting the Blockchain (4:41)
Do You Want to Become a Solidity Developer? (3:23)
Hot Contracts (2:35)
ARCHIVED (available until June 30, 2023) - Solidity Fundamentals
What is Solidity? (4:13)
First Smart Contract in Solidity (3:46)
Normal vs. View Functions (5:17)
Public vs. Private Functions (3:03)
Deployment with Remix (4:41)
We Don't Want This Transaction! (4:08)
Homework
ARCHIVED (available until June 30, 2023) - Creating Your Own ERC-20 Token
That's my Type! (2:31)
Numbers Numbers Numbers! (3:38)
Magic Storage (3:09)
What is ERC and EIP? (2:31)
What is the ERC-20 Standard? (5:49)
Development Setup - Part 1
Development Setup - Part 2 (4:12)
Creating a New Contract (4:29)
Memory, Calldata or Storage (2:20)
Message Variable (2:37)
Unique Type: Address (5:08)
Function Modifiers (1:43)
Mappings are Kings (7:09)
Default Values (2:35)
Enabling Transfers (5:34)
Enabling TransferFroms (7:22)
Testing Code with Code (4:32)
Testing our ERC-20 (13:35)
Something is Happening on the Blockchain (4:22)
Something is Happening in Solidity (5:36)
Something is Happening in our ERC-20 (6:07)
Deployment with Infura (8:35)
Homework
ARCHIVED (available until June 30, 2023) - DeFi: Implementing Your Own Stable Coin
Decentralized Stable Coins (4:38)
Designing Our Own Stable Coin (7:37)
The Smart Contract Heirs (7:33)
Creating Our Tokens (3:53)
Checked Arithmetics (5:33)
Minting and Burning (12:08)
Calling Other Contracts (4:59)
Ask the Oracle (6:01)
Implementing the Overcollateralization (Depositing) (16:54)
Implementing the Overcollateralization (Withdrawing) (6:11)
Structuring State Data (2:58)
Getting Wiser with Libraries (3:03)
Fixed Point Math (12:07)
Customizing Your Errors (4:03)
Testing Our Stable Coin (11:11)
Homework
ARCHIVED (available until June 30, 2023) - A Decentralized Casino
More Randomness on the Blockchain (3:40)
Randomness on the Blockchain (7:32)
Building the Casino (6:43)
Fallback Functions (2:01)
Stages with Enums (1:38)
Winners with Arrays (6:07)
Homework
ARCHIVED (available until June 30, 2023) - Conclusion
Do You Know What You Don't Know? (6:29)
The Future of Blockchains (7:57)
Enabling Transfers
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