Overview
Audience
Target Course Audience Include:
-
Programmers -
Application Developers -
System Architects -
Network Architects -
Network Security Architects -
IT Professionals w/programming experience
Course Outline
Blockchain and Smart Contract Basics
-
What is Blockchain and how does it work? -
Centralized vs. Decentralized vs. Distributed -
Blockchain vs. Databases -
Bitcoin vs Ethereum -
What are Smart Contracts? -
How are Smart Contracts used?
Smart Contract Programming Basics
-
Advantages and Drawbacks of Smart Contracts -
Layer 1 vs. Layer 2 -
High-Level Language vs. Low-Level -
Languages in Comparison Solidity, Vyper, others -
Smart Contracts with Solidity -
The Layout of a Solidity File
-
LAB TASKS (Lab 1)
-
Types of Variables in Solidity
-
Function/Variable Visibility
-
Smart Contract Constructors
-
Setter- and Getter-Functions
-
Understanding Decentralized Information and Web3
-
Blockchain Access structures and Architectures
-
Remote Blockchain Nodes vs. Local Blockchain Nodes
-
-
Blockchain Access vs. centralized RESTful API -
Understanding Web3.js API -
Understanding Transactions and Consensus -
Private Keys, Public Keys and Signatures -
Understanding privacy on pubic Blockchains -
Understanding the architecture of KeyStore’s such as MetaMask or MIST
-
LAB TASKS (Lab 2 – Ropsten Test-Ether and MetaMask)
-
Installing and Configuring MetaMask
-
Obtaining Ropsten (or Testnet) Ether
-
Tracing Ether through Block-Explorers
-
Understanding Infura
-
Basics of Ethereum and the EVM
-
Ethereum Denominations -
Understanding EVM and the ABI Interface -
Calls vs. Transactions -
Concurrency and Events -
Use cases of Events
-
LAB TASKS (Lab 3 Web3JS Operations + Lab 4 Events)
-
Install and Use Ganache
-
Work with Web3.js
-
Work with Infura
-
Define Events
-
Listen and React to Events
-
Solidity Advanced: Modifiers, Mappings, Structs and Inheritance
-
Understanding Functions, Mappings and Structs -
When to use Modifiers -
Libraries vs. Inheritance
-
LAB TASKS (Lab 5 Modifiers, 6 Mappings and Structs, Lab 7 Inheritance)
-
Understand and use Modifiers
-
Add Mappings and Structs
-
Use Inheritance to increase auditability
-
Understanding Deployment and Costs
-
Understand Development and Deployment Cycles -
Understanding Solidity Compilation and Deployment -
Gas and Gas-Costs -
Upgradeability and Data Migration Techniques -
Understand the moving Parts: Compiler, Blockchain, API, KeyStore
-
LAB TASKS (Lab 8 Deployment, Lab 9 Tie it together)
-
Changing from strings to bytes (save gas)
-
Deploy using Ropsten Test-Ether
-
Understand the difference when using a real Blockchain
-
Use a fully functioning distributed Application
-
Mining, Proof of Work vs. Proof of Authority
-
What is Mining in PoW?
-
How blocks are generated
-
PoW vs. PoA (vs. PoS)
-
-
Understanding Go-Ethereum or Ganache/TestRPC for local development -
Understanding Private Blockchains vs. Public Blockchains
-
LAB TASKS (Lab 10 Mining)
-
Installing and using Ganache
-
Installing and using Go-Ethereum
-
Connecting to Ganache/Go-Ethereum from Remix and Web3.js
-
Interact with the Blockchain from HTML/JS
-
Current Problems, Solutions, Outlook, Serenity
-
Ethereum Now and Ethereum Future
-
Where we are at with Ethereum
-
Homestead
-
PoW
-
-
Where Ethereum is heading to
-
Serenity
-
PoS + PoW to PoS
-
Sharding
-
-
Recommended Newsletters/Groups
Working in Teams, Testing and Versioning
-
Understanding what Truffle is -
Comparison to Embark -
How Manage Code for Teams -
Understanding Migrations -
Understanding Unit-Testing with Truffle
-
LAB TASKS (Lab 11 Truffle setup, Lab 12 Truffle Unit Testing)
-
Download and Setup Truffle
-
Adapt the standard Truffle-Project
-
Write A Unit Test
-
IPFS and distributed File-Storage
-
What is IPFS -
Comparison between IPFS, FileCoin, Swarm, Sia, Storj
-
LAB TASK (Lab 13 – IPFS)
-
Install and work with IPFS
-
Upload and retrieve a fully decentralized file
-
Bonus Section: Compilation
-
LAB TASK (Lab 14 – Compilation)
-
Compile a Solidity File with a command-line compiler
-
Lab 0 – Understanding Components
Lab 1 – Variables
Lab 2 – Ropsten and MetaMask
Lab 3 – Web3.JS Operations
Lab 4 – Events
Lab 5 – Modifiers
Lab 6 – Mappings and Structs
Lab 7 – Inheritance
Lab 8 – Gas-Costs and Deployment
Lab 9 – Final DApp, Tie it Together
Lab 10 – Mining
Lab 11 – Truffle Setup
Lab 12 – Truffle Unit Tests
Lab 13 – IPFS
Bonus Lab – Solidity Compilation
What's Included
With class you will receive:
-
Expert Instructor through class -
Digital Course Material: View from anywhere and any device -
Digital Exam Prep Material: View from anywhere and any device -
Exam Voucher for CBDE certification at Pearson VUE: Valid for 6 months -
Class is recorded (WebEx classes only) and you have one year of access
Prerequisites
-
Absolutely Necessary: Basic knowledge in JavaScript / HTML -
Advantageous: Basic knowledge in C ++ / Java, data types -
Advantageous: Basic knowledge with git repositories
Global Leader in Blockchain Education
Ethereum Training: Hands-on
Ethereum Development Bootcamp
Instructor-led Virtual
Info
-
Price: CHF 1'516.00
-
Duration: 3 Days
-
Format: Virtual Instructor-led
-
After Class Access: 1 year access to recorded training
-
Related Certification: Certified Blockchain Developer - Ethereum (CBDE)
-
Join over 100,000 students learning
-
Train Live or Online with a MTC/BTA Instructor
-
Training Includes Exam Voucher
Dates
-
1 - 3 February 2021
Mon - Wed: 15:00 - 23:00 CEST
-
29 - 31 March 2021
Mon - Wed: 15:00 - 23:00 CEST