Live Chat
Monday - Friday 8am - 6pm EST Chat Now
Contact Us
Monday - Friday 8am - 8pm EST 1-800-268-7737 Other Contact Options
Checkout

Cart () Loading...

    • Quantity:
    • Delivery:
    • Dates:
    • Location:

    $

Ethereum Developer Training

Learn about using Ethereum to develop your public Blockchain solution.

GK# 7945

$249 - $1895 USD

Enroll Request Group Training

Course Overview

TOP

This course is designed for those seeking an in-depth understanding and development experience with the Ethereum Blockchain platform. You’ll gain an overview of Ethereum, smart contracts, and the development language, Solidity. You’ll write smart contracts and build applications that interact with them.

Ethereum’s adaptable feature set which allows you to design decentralized applications for countless applications will be discussed. You will participate in hands-on programming lab sessions so you can develop and advance your skills in Ethereum development.

Approximately 50% of class will be lab time. This provides practical experience, which will enhance your knowledge and existing skill set.

Schedule

TOP
  • Delivery Format:
  • Date:
  • Location:
  • Access Period:

$

What You'll Learn

TOP
  • Blockchain and smart contract basics
  • Smart contract programming basics
  • Understanding decentralized information and Web3
  • Basics of Ethereum and the EVM
  • Advanced Solidity: modifiers, mapping, structs, and inheritance
  • Understanding deployment and costs
  • Mining, Proof of Work versus Proof of Authority
  • Current problems, solutions, outlook, and serenity
  • Working in teams, testing and versioning
  • IPFS and distributed file-storage

 

Outline

TOP
Viewing outline for:

Classroom Live 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

 

Prerequisites

TOP

This course is highly technical and requires students to be comfortable with coding. To prepare for the class you should:

  • Provide your own computer (Mac/PC/Linux) (labs are hosted in a virtual environment)
  • Have basic programming skills in JavaScript / HTML
  • Basic knowledge in C ++ / Java, data types (advantageous)
  • Basic knowledge with git repositories (advantageous)

Who Should Attend

TOP

Programmers, Developers, and Architects.

 

Follow-On Courses

TOP
Course Delivery

This course is available in the following formats:

Classroom Live

Receive face-to-face instruction at one of our training center locations.

Duration: 3 day

Virtual Classroom Live

Experience expert-led online training from the convenience of your home, office or anywhere with an internet connection.

Duration: 3 day

On-Demand

Train at your own pace with 24/7 access to courses that help you acquire must-have technology skills.



Request this course in a different delivery format.
Enroll