The Ethereum Blockchain Platform
  • Introduction to Ethereum
  • How to Get Better and Faster Support? JOIN MY PRIVATE FACEBOOK COMMUNITY!
  • Ethereum Nodes
  • Ethereum Accounts and Ethereum Addresses
  • Creating an Ethereum Account Using MetaMask
  • Creating an Ethereum Account Using MyEtherWallet (MEW)
  • Ether (ETH)
  • Rinkeby Authenticated Faucet
  • How to Transfer ETH
  • Gas, GasPrice, GasLimit and Opcodes
  • Ethereum Block Explorer
  • Ethereum Transactions, Blocks
  • Ethereum Transaction’s Fields
  • Ethereum 2.0 (ETH2). PoW vs. PoS
  • Eth2 Sharding
  • Links to Original Bitcoin & Ethereum White Papers
  • Quiz for the Ethereum Blockchain
Challenges - The Ethereum Blockchain Platform
  • Challenges - The Ethereum Blockchain Platform
Master The Solidity Programming Language
  • Remix IDE
  • Compilation In Depth: ABI and Bytecode
  • Contract Deployment on JS VM
  • Contract Deployment on Rinkeby Using Remix and MetaMask
  • Quiz for Programming Environment
  • The Structure of a Smart Contract
  • Solidity Basic Syntax Rules
  • State and Local Variables
  • Functions, Setters, and Getters
  • The Constructor
  • Coding - Variables and Functions
  • Quiz for Solidity State Variables and Functions
  • Variable Types: Booleans and Integers
  • SafeMath, Overflows and Underflows
  • Fixed-Size Arrays
  • Coding - Fixed-Size Arrays
  • Dynamically-Sized Arrays
  • Coding - Dynamic Arrays
  • Bytes and String Types
  • Structs and Enums
  • Coding - Structs and Enums
  • Mappings
  • Coding - Mappings
  • Quiz for Solidity Data Types
  • Storage vs. Memory (Solidity Gotchas)
  • Quiz for Storage vs. Memory
  • Built-In Global Variables - Part 1
  • Built-In Global Variables - Part 2
  • Coding - Global Variables
  • Quiz for Global Variables
  • Contract’s Address and Balance: Payable, Receive and Fallback Functions
  • Coding - Receiving Ether
  • Accessing the Contract’s Balance
  • Protecting the Contract’s Balance
  • Coding - The Contract's Balance
  • Quiz for Contract's Balance
  • Variables and Functions Visibility: Private, Public, Internal, External -Part1
  • Variables and Functions Visibility: Private, Public, Internal, External -Part2
  • Coding - Visibility Specifiers
  • Quiz for Contract Balance and Visibility
Challenges - Solidity Programming
  • Challenges - Solidity Programming
Project #1 - The Lottery Smart Contract
  • Smart Contract Planning and Design
  • Defining the State Variables and the Constructor
  • Entering the Lottery
  • Validation. The Require Statement
  • How to Select the Winner?
  • Random Numbers in Solidity
  • Selecting the Winner and Sending Contract Balance
  • Resetting the Lottery
  • Contract Review
  • Deploying the Contract to Rinkeby Test Network
  • Lottery Smart Contract Source Code
Challenges - The Lottery Smart Contract
  • Challenges - The Lottery Contract
Project #2 - The Auction Smart Contract
  • Smart Contract Planning and Design
  • Defining the State Variables and the Constructor
  • Function Modifiers
  • Placing a Bid
  • Testing the placeBid() Function
  • Canceling the Auction
  • Important Security Consideration. Withdrawal Pattern
  • Finalizing the Auction
  • Testing the Contract. Final Words
  • Scalability. Deployment Thousands of Auction Contracts
  • Contract that Deploys Another Contract
  • Auction Contract Creator
  • Auction Smart Contract Source Code
Project #3 - Implementing an ERC20 Token
  • Contract Inheritance in Solidity
  • Abstract Contracts and Interfaces
  • Ethereum Tokens. What is ERC20?
  • Defining the Token Contract’s State Variables
  • Defining the Token Contract’s Constructor and Mandatory Functions
  • Testing and Deploying the ERC20 Token on Rinkeby Testnet
  • ERC20 Token - allowed, transferFrom(...) and approve(...) Functions
  • ERC20 Token - Full Implementation