Ethereum Dev Masterclass: Build Real World Projects

Build Real-World Dapps On The Blockchain Using Latest Solidity, Truffle, & More.

  • 01
    Welcome To The Ethereum Developer Masterclass
    Show Content
    • Course Introduction
    • Course Files
  • 02
    Basics Of Blockchain Development
    Show Content
    • Section Introduction
    • Basic Concepts Of The Blockchain
    • How A Smart Contract Works
    • Ethereum Blockchain Nodes Explained
    • Difference Between A Call & A Transaction
    • The Genesis.Json File & How You Create A Private Network
    • ASSIGNMENT - Create Your Own Private Network
    • How To Use The Ethereum TestRPC & Why A Mnemonic Is Important
    • Dapps, Web3 & The Communication Between Javascript And The Blockchain
    • A Quick Note On The Following Lectures
    • Mist & The Ethereum Wallet
    • Mist & The Ethereum Wallet (Practical)
    • Troubleshooting Tips For Mac & Linux - The IPC File
    • ASSIGNMENT - Connect MIST and Geth and Mine Some Ether
    • Let’s Take A Look At MetaMask
    • How To Install & Use Truffle
    • Section Wrap-Up
  • 03
    ERC-20 Tokens & Initial Coin Offerings
    Show Content
    • Section Introduction
    • What Is An Ethereum Based Initial Coin Offering?
    • ERC-20 Ethereum Sample Token Contract Analysis
    • Launching Our Own ICO Token On Our Private Network
    • Watching Our Token Contract In MistEthereum Wallet
    • Moving Tokens Between Accounts
    • Section Wrap-Up
  • 04
    Our Distributed Exchange
    Show Content
    • Section Introduction
    • What Is An Exchange & How Do They Work?
    • What We're Going To Integrate On The Blockchain
    • Interface Of Our Contract In Detail
    • Difference Between A Market-Order & A Limit-Order
    • Datatypes We're Going To Implement In Our Contract
    • The Events Our Contract Should Emit
    • Section Wrap-Up
  • 05
    Solidity Security & Best Practices For Working With It
    Show Content
    • Section Introduction
    • A Library In Solidity & How It Works Explained
    • Importing Source Files
    • Difference Between .Send, .Transfer & .Call()()
    • Difference Between .Send, .Transfer & .Call()() (Practical)
    • Exception Handling, Require(), Assert() & Revert()
    • Exception Handling, require(), assert() and revert() practical examples
    • Difference Between Remix, Truffle, Webpack & Angular
    • Important Aspects For Solidity Security
    • This is Exactly How You Use Structs and Mappings in Solidity
    • Section Wrap-Up
  • 06
    Implementation Of The General Structure Of Our Contract
    Show Content
    • Section Introduction
    • General Contract Structure
    • The Data-Structures We Need
    • How To Add Symbols To The Contract
    • ASSIGNMENT - Add New Symbols On The Fly As Admin
    • Discussion & Solution Of The Assignment
    • Section Wrap-Up
  • 07
    Truffle, Contract Management & Testing
    Show Content
    • Section Introduction
    • How To Install Truffle
    • The Truffle Directory Structure
    • Looking At The Truffle Config File
    • Troubleshooting Truffle On Windows
    • Using Truffle In Combination With EthereumJS-TestRPC
    • Let’s Add Our FixedSupplyToken Contract
    • ASSIGNMENT - Let’s Add Our Exchange Contract
    • Let’s Add Some Tests For Our FixedSupplyContract
    • ASSIGNMENT - Add Two More Automated Tests To Truffle
    • Discussion & Solution Of The Assignment
    • Section Wrap-Up
  • 08
    Implementation Of Deposits & Withdrawals
    Show Content
    • Section Introduction
    • Implementation Of Deposit & Withdrawal In Theory
    • Implement The Deposit & Withdrawal Of Ether
    • ASSIGNMENT - Implement The Token Withdrawal Function
    • Discussion & Solution Of The Assignment
    • How The Token Withdrawal Function Should Work
    • Testing The Ether DepositWithdrawal Function
    • ASSIGNMENT - Test The Token Deposit/Withdrawal Functions
    • Discussion & Solution Of The Assignment
    • Section Wrap-Up
  • 09
    Events
    Show Content
    • Section Introduction
    • The Events We Want To Emit
    • Lets Implement The Events
    • ASSIGNMENT - Get The Events Emitted For Deposit & Withdrawal Of Ether
    • Lets Test The Events In Truffle
  • 10
    Implementation Of Limit Orders
    Show Content
    • Section Introduction
    • The Theory Behind Limit Orders
    • Implementation Of The Limit Buy Order
    • ASSIGNMENT - Limit Sell Order Function
    • Discussion & Solution Of The Assignment
    • Implementation Of The Order Buy Book
    • Testing Orders & the Order Book In Truffle
    • ASSIGNMENT - Implement The Sell Order Book
    • Discussion & Solution of the Assignment
    • Implementation Of The Cancel Order Function & Problems In Remix
    • ASSIGNMENT - Test The Whole Cancel Order Function In Truffle
  • 11
    Implementation Of Market Orders
    Show Content
    • Section Introduction
    • How Market Orders Can Work
    • Implementation Of The Market Sell Order Function
    • Let’s Test The Function In Truffle
    • ASSIGNMENT INTRO - Market Buy Order
    • ASSIGNMENT- Implement The Market Buy Order Function
    • Discussion & Solution Of The Assignment
  • 12
    Truffle & The HTML Front-End With Web3
    Show Content
    • Section Introduction
    • What Our Front-End Will Be Able To Do
    • Tips & Tricks For Installing And Working With The Front-End Tools
    • Scaffolding Our “Managetoken” Site
    • Implementing A Function To Get The Balance Of Tokens
    • Implementing The Function To Send Tokens Between Accounts
    • ASSIGNMENT - Implement The Token Allowance
    • Discussion Of The Assignment
    • Adding A Function To Add A Token To The Exchange
    • Lets Test With MetaMask & Wrap This Section Up
  • 13
    Web3 & Events
    Show Content
    • Section Introduction
    • Difference Between Watching & Getting Events
    • Setting Up An Environment To Test Events
    • Testing The Differences Between Watching & Getting Events
  • 14
    Deposits & Withdrawals
    Show Content
    • Section Introduction
    • Updating Our Index.Html File With The Menu & The Right Forms
    • Adding The Logic For Showing The Token & Ether Balance
    • Adding The Deposit Token Logic
    • ASSIGNMENT: Add The Logic For Withdrawal Of Tokens
    • Discussion Of The Assignment
    • Testing The Deposit & Withdrawal Of Tokens
    • Lets Add The Deposit Of Ether
    • ASSIGNMENT - Add The Logic For Withdrawal Of Ether
    • Discussion & Wrap Up Of The Withdrawal Ether Functions
  • 15
    Trading
    Show Content
    • Section Introduction
    • HTML Site For Our Trading Functionality (Part 1)
    • Final Trading Site (Part 2)
    • Listen To The Trading Events
    • Get The Order Books Right
    • Lets Test What We Have With MetaMask & TestRPC
    • Adding A Function To Sell Tokens
    • Test The SellToken Function & Observe The Events
    • ASSIGNMENT - Add A Function To Buy Tokens
    • Discussion Of The BuyToken Function
  • 16
    Deployment Of Our Contract
    Show Content
    • Section Introduction
    • This Is The Rinkeby Test-Net
    • Lets Sync In The Test-Net
    • Getting Your Accounts From Private Net To Rinkeby Test-Net
    • Getting Our First Ether From The Rinkeby Faucet
    • Start Geth With The Right Parameters
    • Adjusting The Truffle Config-File & Preparing For Deployment
    • Opening Our App With MetaMask On The Rinkeby Test-Net
    • Let's Play Around With Our Exchange & Trade Some Tokens Against Ether
  • 17
    Publishing The Exchange
    Show Content
    • Publishing The Exchange To Github Pages
    • The Final Exchange Distributed Application
  • 18
    Congratulations On Completing The Ethereum Developer Masterclass
    Show Content
    • Congratulations On Completing This Masterclass