BLOCKCHAIN FOR PRACTITIONERS
Overview
Blockchain has obviously opened up a new field for the development of decentralized application (dApp) that runs on a distributed computing systems. Dapps that have been mostly popularized by distributed ledger technologies, namely the Ethereum Blockchain, where dApps are often referred to as smart contracts.
The purpose of this course is to provide students with (a) a fundamental understanding of the technology and potential use cases of Blockchain in various industry domains, and (b) a training needed for building decentralized applications or Dapps using blockchain technology covering Hyperledger topics.
Course Goals
The purpose of this cours is to provide attendees with the knowledge and capability to incorporate blockchain solutions into their current and future business work/models.
- Familiarization with the basics of cryptocurrencies and blockchain technology.
- Familiarization with blockchain protocols and technical security requirements.
- Discuss the legal and regulatory framework related to blockchain technology.
- Discuss the architectural and technical issues that must be considered before launching a blockchain development program.
- Review use cases and lessons learned from previous blockchain projects
- Create a blockchain model project in the form of an initial coin offering or blockchain enterprise solution.
- Build Ethereum smart contract based applications
Learning Objectives
The learning objectives for this course are to:
- Understand the history of bitcoin and blockchain technology.
- Discuss why cryptocurrencies and blockchain technologies are important.
- Get a basic understanding of cryptocurrencies.
- Get a basic understanding of blockchain technology.
- Understand to smart contracts.
- Understand legal and regulatory considerations.
- Discuss blockchain use cases, benefits, and risks.
- Learn to develop Smart Contracts.
- Learn development of interactive front-end designs for Dapps.
- Learn backend development pertaining to Blockchain.
- Supervision of the entire stack running their Dapps.
Course Content
Unit 1: Introduction
- Introduction to Blockchain & Cryptocurrencies
- What is Blockchain?
- Blockchain Features: Security, Privacy, De-centralized, Distributed, Immutable
- Forms of Value: Tokens, Securities, Cryptocurrencies
- Understanding the basic parts of a Blockchain:
- Mining in Blockchain
- Cryptography in Blockchain
Unit 2: The Technology of Blockchain
- How Blockchain works?
- How Blockchain is different from traditional technologies?
- Blockchain Decision Overview
- Digital Assets and Multiple Parties
- Technical Approach
- Network Configuration
- Deciding Factors
- Technology stack of Blockchain:
- Distributed Database System
- Hash Functions
- SHA-256 Encyption
- Merkel Trees
- Cryptography Algorithms
- Consensus Algorithms: PBFT, Proof of Stake, Delegated Proof of Stake, PoET
- Blockchain Protocols
- Example of Blockchain Protocol (Bitcoin)
- Types of Blockchains: Permissioned, Un-permissioned, Public, Private, Side Chains
- Structure of a Blockchain Transaction
- Unspent Transaction Output
- Transaction as Double Entry Book Keeping
- Scripts in Blockchain (Bitcoin)
Unit 3: Blockchain tools considerations
- Additional Technologies Supporting Blockchain
- Programming Languages you can use to Build Blockchain solutions.
- Cryptography and Blockchain Algorithms
- Overview of Blockchain Platforms
- Public Platforms
- Commercial Platforms
- Blockchain Functional Architecture
- Blockchain Environment Considerations
- Public vs Private
- Permissioned vs Permissionless
- Cloud vs Native
Unit 4: Blockhain 2.0 - What is Ethereum?
- Introduction
- Interfacing with Ethereum Networks
- Metamask Setup
- Ethereum Accounts
- What’s a Transaction?
- What is Smart Contract
Unit 5: Smart Contracts with Solidity
- Solidity – Language of Smart Contracts
- Installing Solidity & Ethereum Wallet
- Layout of a Solidity Source File & Structure of Smart Contracts
- Basics of Solidity by Example: Subcoin Smart Contract
- Layout of a Solidity Source File & Structure of Smart Contracts
- General Value Types (Int, Real, String, Bytes, Arrays, Mapping, Enum,address)
- Ether Units, Time Units
- Globally Available Variables & Functions
- Operators: Arithmetic, Logical & Bitwise Operators
- Control Structure (if-else, for, while, Do-While)
- Function Declarations
- Testing with Remix
- Gas and Transactions
Unit 6: Developing your own Network Nodes
- Blockchain Functional Risks
- Transaction costs
- Interoperability
- Additional Blockchain technologies
- On Chain vs Off Chain
- Lighting Network
- CoCo Framework
- Smart Contracts
- Oracles
- Business Components of Blockchain Architecture
- Problem
- Stakeholders
- Devices
- Type of Blockchain
- Technical Components of Blockchain Architecture
- Ledger
- Smart Contracts
- P2p Network
- Membership
- Protocols
Unit 7: Architecting your own Blockchain Solution
- Analyze requirements
- Translate requirements into functions
- Transactions, Blocks, Data Privileges, Data Processing
- Translate Stakeholders into nodes
- Node Creation and Management
- Node Data Communication and Processing
- Define roles for nodes
- Identity, Privacy, Security
- Sandbox or ground-up the platform
- Define development resources: Programming Frameworks and Programmers
- Blockchain Development
- Blockchain Hosting
- Blockchain Support
- Blockchain Security and Implementation
- Government Regulations, Legal Loopholes, Hurdles
- Common Mistakes
- Blockchain Risk Management
- Enterprise Risk
- Operational Risk
- Market Risk System Risk
Unit 8: Hyperledger Fabric Using Composer
- Introduction
- What is Hyperledger?
- Distributed Ledger Technology & its Challenges
- Hyperledger & Distributed Ledger Technology
Unit 9: Hyperledger Fabric Using Composer
- Hyperledger Fabric & Composer Concepts
- Hyperledger Fabric: A DLT for Business Applications
- Hyperledger Fabric: DLT for Business
- Assets, Chaincode & Ledger
- Assets, Chaincode and Transactions
- Permissioned Network, Members & Membership Service Provider
- Permissioned Network, Member & Membership Services
- Nodes and Channels
- Hyperledger Fabric Composer Overview
Unit10 : Pre-Requisites for Fabric development
- Development Machine Specifications & IDE
- Composer Dev Tools Installation
- Exercise: Validate the Composer Development Environment
- Linux/Ubuntu & AWS: Setup of Fabric Development on Local & Cloud VM
Unit11: Fabric Under the Hood (Concepts & Terminology)
- Ledger Implementation
- Dev Environment Walkthrough: Peer & CouchDB setup
- Ledger Implementation
- Peers Nodes: Anchors and Endorsers
- Anchor Peers & Endorsing Peers
- Clients Node: Endorsement Policies
- Client Peer & Endorsing Policies
- Ordered Nodes
- Membership Service Provider & Certification Authority
- Dev Environment Walkthrough: Ordered and CA Server
- Chaincode Development
Unit12: Using Composer Tools for Application Development & Administration
- Fabric Composer Playground
- Composer Playground
- Yeoman Hyperledger Generators
- Yo Generators
- Participant Roles and Business Network Cards
- Participant Roles and Business Network Cards
- Composer CLI Tool – Deploying a Network Application
- Composer CLI Tool – Network Application Management
Unit13: Developing Front End Applications for Network Applications
- Application Design Patterns
- Application Architecture Patterns
- Securing the REST server with Authentication Strategy
- Walkthrough: Applying OAuth2.0 Authentication Strategy to REST Server
- Working of Multi User Enabled REST Server
- Walkthrough – REST Server Multi User mode
- Create the Design Blueprint for the Fabric Application UI
Unit14: Summary
Toggle Content goes here