Course Title: Block Chain Specialization
Duration: 5 Days
Timings: 9:00 am to 5:00 pm (UTC +5 / Pakistan Standard Time)
Pre-requisites: Fundamentals of Information Technology and Computer Sciences
Mode of Training: 1       CORVIT Campuses in Lahore, Karachi & Islamabad

2       Online (if required)

Language: 1       Training will be delivered in Urdu & English (optional) language

2       Training martial will be provided in English language

Training Basic Methodology: 1.     Theatrical knowledge

2.     Lab work

3.     Individual Assignments

4.     Group Assignments

5.     Assessments

6.     Certification Preparation (where applicable)

Training Martial: Soft copy (pdf format) of training martial will provide to all students.
Training Content: Day 1: 1.     Blockchain Intuition

·        Lesson Plan

·        What is Blockchain?

·        Understanding SHA256

·        Immutable Ledger

·        Distributed P2P Network

·        Mining

·        Byzantine Fault Tolerance

·        Consensus Protocol

·        Live Demo

2.   Cryptocurrency Intuition

a.      Lesson Plan

b.      What is Bitcoin?

c.      Bitcoin Monetary Policy.

d.      Mining Difficulty

e.      Bitcoin Mines Virtual Tour

f.       Mining Pools

g.      Nonce Range

h.      Picking Transaction

i.       Computation Power

j.       Mempool Working

k.      Orphaned Blocks

l.       The 51% Attack

Day 2: 1.     Bitcoin Transaction Intuition

a.     Lesson Plan

b.     Transaction

c.      UTXOs

d.     Transaction Fee

e.     Wallet

f.       Signature

g.     Segregated Witness

h.     Bitcoin Address

i.       Hierarchically Deterministic

b.             2.    Smart Contract Intuition

a.     Lesson Plan

b.     What is Ethereum?

c.      What is Smart Contract?

d.     Decentralized Applications (Dapps)

e.     Ethereum Virtual Machine (EVM)

f.       Ethereum Gas

g.     Decentralized Autonomous Organizations (DAOs)

h.     The DAO Attack

i.       Forks

j.       Initial Coin Offerings (ICOs)

k.      Case Study

l.       Startups

m.   Whitepapers

n.     Web 3.0

Day 3: 1.     Build your First Blockchain

2.     Development Environmental Setup

3.     Python Programming Language

a.      Python Basics, Comments, Collections, Control Structures

b.      Object Orient Programming Language

c.      Class and Object

4.     Programming Blockchain

a.     Blockchain Folders

b.     Hosting Environmental Setup

c.      Request Types

d.     XML – Extensible Markup Language

e.     JSON – JavaScript Object Notation

2.     Web Services

a.     Application Programming Interface (API)

b.     Important Libraries

c.      Python Class Constructor

Day 4: 1.     Creating Blockchain Class

a.     Defining Constructor

b.     Initialize Blockchain

c.      Create a Block in Python

d.     Initialize Elements of Blocks in Python

e.     Adding a new Created Block to Blockchain

f.       Retrieving a Previous Block

2.     Defining Consensus Protocol in Python

a.     Proof of Work implementation

b.     Hashing implementation

c.      Nonce Implementation

d.     Generating Hash

3.     Connections

a.     Validating Chain with Consensus Protocol

b.     Hosting a Blockchain as a Service

c.      Creating First Host Flask Application

d.     HTTP (Hyper Text Transfer Protocol)

e.     HTTP Requests

f.       HTTP Request Codes

4.     Creating Mining Process in Python

a.     Success Message for Successful Miner

b.     Retrieving a Complete Blockchain

c.      JSON and Complete Blockchain

5.     Host Server

a.     Ports in Server

b.    IPV4 Address in Server

c.     Address and Ports

6.     Starting a Hosted Blockchain

7.     View Live Blockchain

8.     Mining new Blocks

9.     Assignments and Exercises

10. Build your First Cryptocurrency

11. Getting Started with Creating a Cryptocurrency

d.    Python Bird View Recap

e.     Blockchain Bird View Recap

f.      How to install new packages in python

g.     Install the requests Package in Python

h.    Introduction to pip install in python

i.      Recap of Flask

j.      Difference between Flask request and requests

12. Introduction to Uniqueness

k.     What is Universal Unique Identifier (UUID)?

l.      How to use UUID in python

13. Introduction to Universal Resource Locator (URL)

a.     Use of urlparse in python

14. Applying Decentralization to our Blockchain

a.     Creating Multiple Nodes in Blockchain Simultaneously

b.    Creating Transaction for each Block in Cryptocurrency

15. Adding Transaction to Block in Python

16. Recap of Previous Block

17. Connecting Current Block and Previous Block with Transactions

18. Sets in Python

a.     Creating Nodes as Set in Python

b.    Parsing a Node URL before adding a node to Blockchain Network

c.     Every Node must have a Same Copy of Blockchain

d.    Validate Chains on every Node

19. Dynamically retrieving all Nodes and their Blockchain in Python

20. Chain Validated than Same Chain in Python

21. Chain Not Validated Replace with Longest Chain in Python

a.     Every new node in Blockchain Network will be Unique

b.    Applying UUID to Nodes in Python

c.     Mining a Blockchain Block with Transactions in it

22.  Defining Transactions in JSON

23.  Retrieving JSON nodes in Python

24.  Retrieving JSON transactions in Python

25.  Complete Execution of Services for each Node in Blockchain Network

26. Exercises and Assignments

Day 5:          1. Environmental Setup for Smart Contract

a. Framework introduction

2. Blockchain Framework

3. Ethereum Framework

4. Tools for Smart Contract

a. Truffle Framework

b. Sweet Tools for Smart Contracts

c. Download and Install Truffle Suit

5. Ethereum Wallet

a. Open Source Etherum Wallet

b. Download Open Source Ethereum Wallet

6. MyEtherWallet – An Interface

a. Configuration of MyEtherWallet Quickly

7. Solidity – A Programming Language

a. Solidity Environment

b. Remix Introduction

c. Remix Setup

d. Remix for Solidity

8. Solidity Learning Sources

9. Create a Smart Contract Blockchain with 1 million coins in Solidity

10. Coins – Initial Coin Offerings (ICO)

a. Coins vs Dollars or Other Currencies

11. Dollars and Coins in Solidity

12. Solidity Consumed Coins in Solidity

a. Mapping of Coins in Dollars in Solidity

b. Mapping of Dollars in Coins in Solidity

c. Defining a Modifier for Coin Buyers with Dollars in Solidity

d. Defining Equity in Coins with Solidity

e. Defining Equity in USD with Solidity

13. How to Defining Coin Buying Mechanism with Solidity

14. How to Defining Coin Selling Mechanism with Solidity

15. Environment to Deploy Smart Contracts

a. Hosting Smart Contracts

b. MyEtherWallet and Smart Contracts

16. Test Execution of Smart Contract

a. ByteCode

b. ByteCode and Smart Contract

17. Public and Private Keys Identification

18. Selling and Buying Connected with Keys

19. How to manage Ether Gas for Smart Contract

20. Transaction Broadcast

a. Tracing Gas Consumption for Transaction

b. Transaction Traceability

c. JSON and Transactions of Block

d. JSON and Block in Blockchain

21. Smart Contracts in Financial Organizations

a. Singed Transaction

b. Raw Transaction

c. Raw Transaction vs Signed Transaction

22. Implementation & Execution of Transaction with Raw and Signed

23. Investor in Blockchain

                       a. Investment Execution of Investor through Smart