Ethereum Developer

Course Overview

Ethereum Developer Certification Training is a course that teaches individuals how to develop and build decentralized applications on the Ethereum blockchain. It covers topics such as smart contracts, solidity programming, and the development of dapps. The certification is designed for developers who want to gain expertise in building Ethereum-based applications and for those who want to take the Ethereum Developer Certification Exam.

At the end of the training, participants will be able to:

  1. Get an excellent overall understanding of the Ethereum architecture and Solidity language.
  2. Explain functional components (including smart contracts) required to develop an Ethereum Blockchain.
  3. Gain an understanding of how to instantiate an Ethereum application on the network.
  4. Gain an in-depth understanding of how transactions are created and implemented on an Ethereum network.

Pre-requisite

  • Absolutely Necessary:
  •                              1.Basic knowledge in JavaScript / HTML
  •  
  • Recommended:
  •                                1.Basic knowledge in C ++ / Java,
  •                                2.Data types, Basic knowledge with git repositories 

Duration

3 days

Course Outline

  1. What is Blockchain and how does it work?
  2. Centralized vs. Decentralized vs. Distributed
  3. Blockchain vs. Databases
  4. Bitcoin vs Ethereum
  5. How are Smart Contracts used?
  1. Advantages and Drawbacks of Smart Contracts
  2. Layer 1 vs. Layer 2
  3. High-Level Language vs. Low-Level
  4. Languages in Comparison Solidity, Vyper, others
  5. Smart Contracts with Solidity
  6. The Layout of a Solidity File
  7. LAB TASKS (Lab 1)
  8. o    Types of Variables in Solidity
  9. o    Function/Variable Visibility
  10. o    Smart Contract Constructors
  11. o    Smart Contract Constructors
  1. Blockchain Access structures and Architectures:
  2. Remote Blockchain Nodes vs. Local Blockchain Nodes
  3. Blockchain Access vs. centralized RESTful API
  4. Understanding Web3.js API
  5. Understanding Transactions and Consensus
  6. Private Keys, Public Keys and Signatures
  7. Understanding privacy on pubic Blockchains
  8. Understanding the architecture of KeyStore’s such as MetaMask or MIST
  9. LAB TASKS (Lab 2 – Ropsten Test-Ether and MetaMask)
  10. o    Installing and Configuring MetaMask
  11. o    Obtaining Ropsten (or Testnet) Ether
  12. o    Tracing Ether through Block-Explorers
  13. o    Understanding Infura
  1. Ethereum Denominations
  2. Understanding EVM and the ABI Interface
  3. Calls vs. Transactions
  4. Concurrency and Events
  5. Use cases of Events
  6. LAB TASKS (Lab 3 Web3JS Operations + Lab 4 Events)
  7. o    Install and Use Ganache
  8. o    Work with Web3.js
  9. o    Work with Infura
  10. o    Define Events
  11. o    Listen and React to Events
  1. Understanding Functions, Mappings and Structs
  2. When to use Modifiers
  3. Libraries vs. Inheritance
  4. LAB TASKS (Lab 5 Modifiers, 6 Mappings and Structs, Lab 7 Inheritance)
  5. o    Understand and use Modifiers
  6. o    Add Mappings and Structs
  7. o    Use Inherita
  8. o    Use Inheritance to increase auditability
  1. Understand Development and Deployment Cycles
  2. Understanding Solidity Compilation and Deployment
  3. Gas and Gas-Costs
  4. Upgradeability and Data Migration Techniques
  5. Understand the moving Parts: Compiler, Blockchain, API, KeyStore
  6. LAB TASKS (Lab 8 Deployment, Lab 9 Tie it together)
  7. o    Changing from strings to bytes (save gas)
  8. o    Deploy using Ropsten Test-Ether
  9. o    Understand the difference when using a real Blockchain
  10. o    Use a fully functioning distributed Application
  1. What is Mining in PoW?
  2. o    How blocks are generated
  3. o    PoW vs. PoA (vs. PoS)
  4. Understanding Go-Ethereum or Ganache/TestRPC for local development
  5. Understanding Private Blockchains vs. Public Blockchains
  6. LAB TASKS (Lab 10 Mining)
  7. o    Installing and using Ganache
  8. o    Installing and using Go-Ethereum
  9. o    Connecting to Ganache/Go-Ethereum from Remix and Web3.js
  10. o    Interact with the Blockchain from HTML/JS
  1. Ethereum Now and Ethereum Future
  2. Where we are at with Ethereum
  3. o    Homestead
  4. o    PoW
  5. Where Ethereum is heading to
  6. o    Serenity
  7. o    PoS + PoW to PoS
  8. o    Sharding
  9. Recommended Newsletters/Groups
  1. Understanding what Truffle is
  2. Comparison to Embark
  3. How Manage Code for Teams
  4. Understanding Migrations
  5. Understanding Unit-Testing with Truffle
  6. LAB TASKS (Lab 11 Truffle setup, Lab 12 Truffle Unit Testing)
  7. Download and Setup Truffle
  8. Adapt the standard Truffle-Project
  9. Write A Unit Test
  1. What is IPFS
  2. Comparison between IPFS, FileCoin, Swarm, Sia, Storj
  3. LAB TASK (Lab 13 – IPFS)
  4. o    Install and work with IPFS
  5. o    Upload and retrieve a fully decentralized file
  1. LAB TASK (Lab 14 – Compilation)
  2. o    Compile a Solidity File with a command-line compiler

Reviews