Ethereum: Decentralized Application Design & Development

Ethereum: Decentralized Application Design & Development

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 10 Hours | 1.18 GB

Develop a full blown DAPP in next 2 weeks. You will learn Geth, Web3, Truffle, TestRPC, MetaMask, Wallets, Solidity +++

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.

Course is divided into 8 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, TestRPC, 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

Table of Contents

Blockchain foundational concepts
1 Introduction
2 Recent Course Updates
3 Download Course PDF + Zip File Secret + Faucet Secret
4 Evolution of Blockchain
5 Blockchain 101
6 Ethereum 101

Ethereum Blockchain & Using the wallet for interacting with Network
7 Ethereum Decentralized Applications
8 Ethers, Gas & EVM
9 Ethereum Networks & Blockchain explorers
10 Hashing functions, Proof of Work, Proof of Stake
11 Wallet installation, working, mining & send transactions
12 Ethereum Wallet: Mining and Sending Ethers
13 Ether Faucets : Getting Free Test Ethers
14 Ethereum Wallet Installation on Mac OS
15 Externally Owned accounts and contract accounts
16 Managing Contracts with Wallet
17 Exercise: Deploy & Interact with contracts
18 Meta Mask
19 Official online Wallet: Wallet.Ethereum.org
20 Browser Solidity for developing contracts
21 Exercise: Execute Contracts using Meta Mask

Ethereum Clients, Network & Geth
22 PLEASE Read: September 19, 2017 : Byzantium HARD Fork in Testnet
23 PLEASE READ before proceeding (ROPSTEN Revival)
24 Ethereum Networks & Clients
25 Geth – the Ethereum Go Client
26 Geth CLI – Setting up the client for Testnet (1 of 5 )
27 Geth CLI – Setting up the Private Dev Network (2 of 5)
28 Geth CLI – Setting up the IPC/JSON/WS-RPC (3 of 5)
29 Ethereum Client – Javascript Console (4 of 5)
30 Geth CLI – (5 of 5)

Geth Javascript Management API
31 Javascript Dapp & Management API overview
32 Javascript API – admin
33 Javascript API – personal
34 Javascript API – miner
35 Javascript API – Nonces, txpool
36 Javascript API – debug

web3 Javascript API
37 Please READ : web3 Sample Application + Zip Password
38 web3 JS Overview
39 Setup the Dapp development environment
40 Web3 Workbench – Sample DAPP
41 1. Setup web3 and connecting to node
42 2. Web3 Version & Node Status API
43 Exercise: Extend the doGetNodeStatus()
44 3. Account list and balances API
45 4. Account unlocking and send transaction API
46 5. Solidity code compilation using SOLC and Web3 API
47 6. Contract deployment to network
48 7. Contract invocation
49 8. Events and Logs
50 9. Filter, Watch & Logs API
51 10. Watch and Get with contract API
52 Exercise: Create a front end application for the Interact.sol

Getting ready to write Solidity contracts
53 Setting up the contract development environment
54 1. Truffle: Setting up a project
55 2. Truffle & TestRPC: Coding the smart contracts
56 3. Truffle: Deploying contracts to Ethereum networks
57 Exercise: Using the Truffle Framework

Ethereum smart contract development using Solidity
58 1. Solidity Contract Layout
59 2. Basic data type and conversions
60 3. Data location (Keywords:memory, storage)
61 4. Arrays
62 Coding Exercise V1 :Basic types, Arrays, Storage location
63 5. Special Arrays
64 6. Introduction to functions
65 Coding Exercise V2: Create version 2 of betting contract
66 7. Globals variables & functions, exceptions and crypto
67 Coding Exercise V3: Global variables
68 8. Mappings, Enumerations and Structs
69 Coding Exercise V4: Enum, Mapping & Struct
70 9. Object Orientation
71 10. Variable and Function visibility
72 11. Constants, Fallback functions & Payable
73 Coding Exercise V5: Constants and Payables
74 12. Function modifiers
75 Coding Exercise V6: Modifiers
76 13. Events
77 Coding Exercise V7: Events
78 Coding Project: Your End-to-end Calculator Dapp

Contract Design Patterns
79 Contract Self Destruction Pattern
80 Factory Contract Pattern
81 Name Registry Pattern
82 Mapping Iterator Pattern
83 Exercise: Optimize the Mapping Iterator pattern
84 Sending ethers from contract: Withdrawal pattern
85 Setting up a Private Blockchain Network
86 Project #1 Decentralized Bidding Application Contract
87 Project #2 Decentralized University Certification Management Application

Implementing an ERC20 Token
88 ERC20 Token Specifications
89 (Part 1) Walkthrough of ERC20 compliant token implementation
90 (Part-2) Walkthrough of ERC20 compliant token implementation