Ethereum : Decentralized Application Design & Development

Develop a full DAPP | ICO | Setup Private network in next 2 weeks using Web3J, TruffleV4, MetaMask, Ganache, Solidity ++

Ratings: 3.51 / 5.00




Description

PS

  1. Please do NOT join the course if you are not comfortable with coding
  2. This course starts from the Basics so if you are an expert you may already know first few sections. Do take a preview before joining.
  3. This course will NOT teach you Javascript or any Javascript framework. 
  4. Please read the Pre-Requisites before signing up
  5. Focus of the course is Ethereum hence it was decided to use HTML DOM JS API instead of Angular/JQuery & other JS libraries.


What students should know (Pre-requisites) ?

To build Ethereum Decentralized applications you will need to learn a couple of skills. This course can help you learn all of those skills but there are some prerequisites for the course:

  1. Experience with either Javascript or Java. Course will NOT teach Javascript

  2. Basic understanding of the Javascript/HTML DOM model

  3. Access to a PC or MAC with access to the Internet (Minimum 4GB needed 6 GB preferred)

  4. Comfortable with new software installation & hands on coding

Course Approach?

This course takes the approach of “Learn by doing”. Students are encouraged to try out all aspects of the technologies on their own after each lecture. Almost all of the concepts discussed in the lectures are shown in action by way code samples etc. The demo code used in the lectures is available for download from GitHub so that students can change the code to try out new things.

Front end of the Decentralized applications are typically created as single page or desktop applications using Javascript/HTML/CSS. Since there are multiple Javascript frameworks, it was decided to keep the lectures independent of any specific JS framework. Students are free to use any one or more JS frameworks of their choice.

Multiple quizzes in each section will validate student’s knowledge. Coding exercises will help them understand the concepts better & gain confidence.

Students will download the source code for a fully built DAPP - this DAPP shows/teaches all of the web3 API that students need to learn. Code walk through is covered in the lectures.

Course is divided into 10 sections:

Section#1

Introduces the Blockchain & Ethereum technology

Section#2

Drills deeper into the Ethereum Blockchain technology

Concepts, Wallet

Hands-on:  Install Wallet, Mining for Ethers, Transactions

Section#3

Ethereum Client

Hands-on: Install Geth, Try out the geth commands & options

Section#4 Geth Javascript Management API

Hands-on: Try out the various API i console and by writing scripts

Section#5

Web3 API

Hands-on: Develop Javascript/HTML front end for executing contracts on TestNet

Section#6

Getting ready for Smart Contract development

Learn about the various tools & frameworks used for developing smart contract

Hands-on: Installation : Visual Studio, Truffle framework version 4.0, Ganache, Meta-Mask

Section#7

Solidity for smart contracts development

Learn the concepts of Solidity language

Hands-on: Code simple contracts in Solidity + write test cases for testing

Section#8

Solidity &Infrastructure patterns

Hands-on: Code smart contracts

End to end application walkthrough

Hands-on: DIY Project & Solution

Section#9

Covers the setting up of private networks

Tools for managing private networks

Section#10

All about Initial Coin Offering & ERC20 Standard for creating and launching a coin

Students will learn how to create a coin and manage it in common tools


Background

Demand for Blockchain technologists is going up as multiple enterprises (& startups) are looking to achieve efficiencies or/and create new business models enabled by the Blockchain technologies. Ethereum is the leading Blockchain platform and is accepted as the most mature platform for Blockchain applications. Ethereum technology is quite complex but the approach taken in this course "Learn by doing" will accelerate the learning process and make it easy for the students to understand the concepts. Please refer to "Introduction to Ethereum" below for a high level overview of Ethereum.

Why learn Blockchain/Ethereum?

If we are to believe the pundits, Blockchain will change the way software is built for business transactions. Almost all industries are looking to leverage this new technology to gain efficiencies and/or to create new business models & opportunities. Organizations are looking for talent in this new technology and facing difficulty in finding developers/architects who can design and develop Blockchain applications.

Taking this course will prepare you to innovate using this cutting edge technology that promises to change the world around us. It will prepare you for the future.

Introduction to Ethereum

The digital cryptocurrency Bitcoin was the first Blockchain application. Success of Bitcoin led to the creation of the Ethereum platform. Whereas Bitcoin is a “Blockchain Application”, Ethereum is a “Blockchain Platform”. Ethereum not only supports a distributed ledger but it also supports Smart Contracts.

Smart Contracts are computer programs that has the code that implements contractual agreements (rules) between two or more parties. The rules coded in the smart contract are triggered by events in the physical world and automatically carry out some predefined action(s). All of this happens without any intermediary, web servers or back end databases.

Let me give you an example - Ebay is the intermediary between the buyer and seller. EBay makes $ every time a buyer buys an item from the seller. In a decentralized bidding application a smart contract can replace EBay the intermediary. The rule coded in the contract will be that when buyer will pay, the seller will ship the item to the buyer. The funds will be held in the smart contract till buyer confirms the receiving of the goods. Once the buyer confirms the receipt of goods the funds will be released to the seller. Smart Contracts are executed on the Ethereum network nodes as opposed to a centralized server infrastructure owned by an intermediary (e.g., Ebay). Nodes are Ethereum client processes running on the network participant’s computer. 

Anyone can write Ethereum decentralized application, so in other words you can create your own Bitcoin like Cryptocurrency or Ebay like application on a public Ethereum network. Please note that all applications are not a good candidate for Blockchain technology for example building a static website on Blockchain technology is not the right use of the technology.


What You Will Learn!

  • Leverage the Ethereum tools/software such as Wallet, Geth, MetaMask, Remix, TruffleV4, Ganache....
  • Create an ERC20 Compliant token to launch an Initial Coin Offering (ICO)
  • Setup Private Blockchain Networks using different Consensus (PoW, PoA)
  • Develop Smart contracts in Solidity using multiple tools such as Web3/Ganache/TruffleV4/Mocha framework
  • Comfortably describe how Ethereum Blockchain works | Ethers, Gas, POW, POS, Nodes ...
  • Describe how the Blockchain technologies work | Distributed Ledgers, Consensus, Mining ....
  • Develop UI/front end for Decentralized Application in HTML/CSS/Javascript using web3 libraries
  • Develop end to end Decentralized Applications (DAPP) on Ethereum platform
  • Setup private Ethereum networks for development & experimentation
  • Identify and use the right design patterns for developing smart contracts
  • Architect, Design & Build real use cases on Ethereum platform

Who Should Attend!

  • Technologists interested in learning Ethereum Blockchain
  • Architects wanting to expand their skills to Blockchain technology
  • Developers willing to learn Blockchain by doing that is coding
  • Experimenters curious to learn how Blockchain technology can change the way we do business
  • Entrepreneurs with technology background interested in realizing their business idea on the Blockchain
  • Anyone interested in ERC20 Tokens & ICOs