Blockchain Ethereum Training: Hands-on Development Bootcamp

COURSE OUTLINE:

Description

Learn the components of Ethereum and how to setup an Ethereum public network. This course will introduce you to Solidity and how to build a basic app and develop smart contracts through extensive hands-on labs. You�ll also review web3 and the Truffle framework before linking everything together by building a full web project with Ethereum.

This course has been meticulously put together and is taught by world-class subject matter experts. Our experts will walk you through deep dive topic, such as steps to integrate/develop an application with Ethereum. There are use cases, proof of concepts, as well as interactive hands-on labs.

Audience

This course is designed for experienced programmers and developers who want a comprehensive deep dive in writing smart contracts and building applications that interact with them.

Prerequisites

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

  • Provide your own computer (Mac/PC/Linux) (labs are hosted in a virtual environment)
  • Basic programming skills of C/C++ or JavaScript

Learning Objectives

  • Blockchain basics and the types�of Blockchain�s�����������������������
  • The major components of the Ethereum Blockchain
  • The Ethereum programing language, Solidity
  • Smart contracts
  • Development of DApp

What is Blockchain and Smart Contracts?

  • What is Blockchain and how does it work?
  • Bitcoin vs Ethereum
  • Smart contract
  • How you can use smart contracts?
  • Advantages of smart contracts
  • Solidity
  • Lab
    • Types of variables in Solidity
    • Public and private code
    • Public variables and functions
    • Private variables and functions
    • Internal functions
    • External functions
    • Smart contract constructors
    • Constant variables
    • Setting variables
    • Lab challenge

Smart Contracts with web3.js

  • Lab
    • Installing and running the Ethereum TestRPC
    • Installing web3.jsChanging the environment in Remix
    • Creating the UI
    • Using web3.js to connect and interact with the smart contract
    • Solution
    • Lab challenge

Smart Contract events with web3.js

  • AIM
  • Lab
    • The current contract
    • Defining the smart contract event
    • Updating the UI
    • Lab challenge

Functions, Mapping, and Structs

  • Theory
    • Functions
    • Mapping
    • Structs
  • Lab
    • The smart contract
    • Creating a modifier
    • Using the modifier
    • Web3 UI�s modifier handling
  • Lab
    • Creating a struct
    • Creating the mapping
    • Map addition
    • Get from the mapping
    • The full contract
    • Count from map
    • Lab challenge

Inheritance and Deployment

  • Theory
    • Object-oriented programming
    • Inheritance
  • Lab
    • Current contract
    • Creating a base contract
    • Changing from strings to bytes
    • Continuing the project
    • Installing MetaMask
    • Deploy contract to the Ropsten testnet network
  • Lab
    • Update the HTML form
    • Update the JavaScript
    • Using the App
    • Lab challenge

Embark Framework and it�s Deployment

  • Blockchain (Ethereum)
  • Decentralized storage (IPFS)
  • Decentralized communication
  • Web technologies
  • Lab
    • Installing Embark framework
    • Hello World with Embark framework
    • First contract deployment with Embark framework

Solidity Smart Contracts Testing

  • Theory
    • What is software testing?
  • Lab
    • Lab challenge

Contracts Management with Factories

  • Theory
  • Factory
  • Lab
    • Lab challenge

IPFS Files Hosting

  • Theory
    • IPFS
    • File hosting
  • Lab
    • Get your hosting server
    • Install IPFS on the server
    • Lab challenge

End-to-end Development of DApp

  • AIM
  • Lab
    • Setup the project
    • Program the smart contract
    • Create the front-end of the application
    • Deploy the App with IPFS
    • Lab challenge