Course Overview:
This Blockchain Architecture training is for technical leaders who need to make decisions about architecture, environment, and development platforms.
Course Objectives:
- What is Blockchain
- How does Blockchain work
- Types of Blockchains
- How is Blockchain different from what we have today
- What are the cases for Blockchain
- What does a Blockchain app look like
- How do I design a Blockchain app
- How do I develop a Blockchain app
- How do I test a Blockchain app
Pre-requisites:
- Basic understanding of Blockchain implementation knowledge and experience.
Target Audience:
- This course is designed for technical business executives who are tasked with making business decisions about leveraging Blockchain technology in their businesses.
Course Duration:
- 21 hours – 3 days
Course Content:
Module 1: What is Blockchain
- Blockchain Basic Principles
- Centralized and Decentralized Ledgers
- Mechanics of Blockchain
- What is a Block?
- How are Blocks Chained Together?
Module 2: How Does Blockchain Work
- Benefits and Drawbacks of Blockchain
- Cryptography
- Public Key Cryptography
- Cryptographic Hashing
- Blockchain Consensus
- Proof of Work Consensus
- Proof of Stake Consensus
- Other Consensus Mechanisms Explained
- Lifecycle of a Public Blockchain Transaction
Module 3: Types of Blockchains
- Public vs Private Blockchains
- Open vs Closed Blockchains
- Open Source Blockchain Projects
- Blockchain Smart Contracts
- Tokens and Coins
- Using Gas in Ethereum
- “Blockless” Solution Platforms
Module 4: How is Blockchain Different than what we have Today
- Types of Networks
- Centralized Networks
- Distributed Networks
- Decentralized Networks
- Software vs Firmware
- Blockchain vs Database
Module 5: What does a Blockchain Application Look Like
- Blockchain Application Architecture
- Integrated Development Environment (IDE)
- User Interaction Layer
- Middle/Interface Layer
- Smart Contracts/Chaincode
Module 6: How do I design a BlockChain Application?
- Guiding Design Principles
- Personas (User Types)
- User Stories (Application Interaction)
- Application Functional Requirements
- Application Technical Requirements
- Design Tasks
- Fundamental Design Questions
Module 7: How do I develop a Blockchain Application?
- Fundamental Design Concepts
- Calling External Contracts
- Error Handling
- Pull vs Push Payments On-Chain Data
- Local Testing Recommendations
- Not Using Agile Development Process
- Technology Design Decisions
- Monolithic vs Modular
- Complexity Models
Module 8: How do I test a Blockchain Application?
- Blockchain Testing Approaches
- Unit Testing
- Developer Level Testing
- Configuration & Environment Testing
- Load/Performance Testing
- Volume/Stress Testing
- Regression Testing
- Application Bug Classifications
- User Load Testing
- Key Blockchain Architecture Testing Questions
Module 9: Use Cases for BlockChain
- Real world implementations of Blockchain
- Summary and Closing Remarks