What is Ethereum?
  • Introduction
  • Course Resources
  • A Short History Lesson
  • Link to Original Bitcoin White Paper
  • What is Ethereum?
  • Interfacing with Ethereum Networks
  • Updated Metamask Setup for new UI
  • Metamask Setup
  • Ethereum Accounts
  • A Note About the Faucet
  • Receiving Ether
  • What's a Transaction?
  • Why'd We Wait?
  • A Quick Note
  • Basic Blockchains
  • Block Time
  • Smart Contracts
  • The Solidity Programming Language
  • Updated Remix Instructions for new UI - Do Not Skip
  • Our First Contract
  • Contract Structure
  • Function Declarations
  • Deploying Contract in New Remix UI
  • Testing with Remix
  • Redeploying Contracts
  • Behind the Scenes of Deployment
  • More on Running Functions Than You Want to Know
  • Wei vs Ether
  • Gas and Transactions
  • Mnemonic Phrases
  • Using Twitter or Facebook to get Ether
  • Getting More Ether
Smart Contracts with Solidity
  • Contract Deployment
  • Boilerplate Requirements
  • Project File Walkthrough
  • Syntax Highlighters
  • Boilerplate and Install Updates - Do Not Skip
  • Compiling Solidity
  • Invalid asm.js or Constructor Deprecation Warning
  • The Compile Script
  • Testing Architecture
  • Web3 Install Update and Windows Issues
  • Installing Modules
  • Web3 Versioning
  • Web3 Providers
  • Testing with Mocha
  • Mocha Structure
  • Fetching Accounts from Ganache
  • Refactor to Async/Await
  • Deployment with Web3
  • Deployed Inbox Overview
  • Asserting Deployment
  • Verifying the Initial Message
  • Testing Message Updates
  • Deployment with Infura
  • Infura Signup
  • Truffle Wallet Provider Install Update
  • Wallet Provider Setup
  • Deployment to Rinkeby
  • Observing Deployment on Etherscan
  • Remix Permissions and Metamask
  • Deployed Contracts in Remix
  • Project Review
Advanced Smart Contracts
  • The Lottery Contract
  • Lottery Design
  • Reminder on Updated Remix UI
  • Basic Solidity Types
  • Starting the Lottery Contract
  • The Message Global Variable
  • Overview of Arrays
  • Overview of Mappings and Structs
  • Big Solidity Gotcha
  • Entering the Lottery
  • Validation with Require Statements
  • The Remix Debugger
  • Pseudo Random Number Generator
  • Selecting a Winner
  • Sending Ether from Contracts
  • Resetting Contract State
  • Requiring Managers
  • Function Modifiers
  • Returning Players Array
  • Contract Review
  • Boilerplate - Do Not Skip
  • New Test Setup
  • Test Project Updates
  • Test Helper Review
  • Asserting Deployment
  • Entering the Lottery
  • Asserting Multiple Players
  • Try-Catch Assertions
  • Testing Function Modifiers
  • End to End Test
Building Interactive Front-Ends
  • Ethereum App Architecture
  • Boilerplate and React App Updates - Do Not Skip
  • Application Overview