Ethereum
40 Hours
Modules
○ Interfacing with Ethereum Networks
○ Metamask Setup
○ Ethereum Accounts
○ Receiving Ether
○ INtro to Transaction?
○ INtro to Blockchains
○ Block Time
○ Smart Contracts
○ The Solidity Programming Language
○ Intro to Contracts
○ Contract Structure
○ Function Declarations
○ Testing with Remix
○ Redeploying Contracts
○ Deployment of Ethereum
○ Intro to Gas and Transactions
Smart Contracts with Solidity
○ Working with Node Js
○ Intro to Contract Deployment
○ Intro to Syntax Highlighters
○ Compiling Solidity
Testing Architecture
○ Web3 Install Issues on Windows
○ Installing Modules
○ Web3 Versioning
○ Web3 Providers
○ Testing with Mocha
○ Mocha Structure
○ Working with Ganache
○ Refactor to Async/Await
Deployment
○ Deployment with Web3
○ Deployed Inbox Overview
○ Deployment with Infura
○ Wallet Provider Setup
○ Deployment to Rinkeby
○ Observing Deployment on Etherscan
○ Deployed Contracts in Remix
Advanced Smart Contracts
○ The Lottery Contract
○ Lottery Design
○ Basic Solidity Types
○ Starting the Lottery Contract
○ Working with Arrays
○ Overview of Mappings and Structs
○ Big Solidity Gotcha
○ Sending Ether from Contracts
○ Resetting Contract State
○ Requiring Managers
○ Function Modifiers
○ Returning Players Array
○ Contract Review
○ Working with Test Setup
○ Test Project Updates
○ Test Helper Review
○ Asserting Deployment
Project Setup
○ Directory Structure
○ Single Run Compilation
○ Test File Setup
○ Creating Campaign Instances
○ Accessing Mappings
○ Requiring Minimum Contributions
○ Array Getters
○ One End to End Test
○ Deployment
○ Updated Deploy Code
○ Refactoring Deployment
Additional requirements based on the pre-requisites:
○ Front-End for Ethereum
○ Real Projects with Ethereum
○ Ethereum Project Infrastructure
○ Working with React for Ethereum