Duration
3 days
Overview
Level: Intermediate
Prerequisites: None
Course Materials: Provided during class
Labs: No. Demos will be conducted via web browser
Exam Details (Optional)
Number of Questions: 70
Pass Score: 70%
Time Allotted: 90 minutes to complete exam
Exam Format: Online
About this Course
This course is for technology leaders and professionals who need to make decisions about architecture, environment, and development platforms.
The class covers the following topics:
- What is Blockchain?
- How does Blockchain work?
- Types of Blockchains
- How is Blockchain different from what we have today
- What are use cases for Blockchain?
- Which Blockchain platform is best suited for your project?
- 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?
What You Will Learn
In this course, participants will learn about:
- The difference between proof of work, proof of stake, and other proof systems and why they exist
- Why cryptocurrency is needed on certain types of blockchains
- The difference between public, private, and permissioned blockchains
- How blocks are written to the blockchain
- Where cryptography fits into blockchain and the most used systems
- Common use cases for public blockchains
- Common use cases for private & permissioned blockchains
- What is needed to launch your own blockchain
- An overview of Ethereum and how it works
- An overview of Hyperledger and its suite of products
- Common problems & considerations in working with public blockchains
- Awareness of the tech behind common blockchains
- When is mining needed and when it is not?
- Byzantine Fault Tolerance
- Consensus among blockchains
- What is hashing
- How addresses, public keys, and private keys work
- What is a smart contract?
- Security in blockchain
- Brief history of blockchain
- The programming languages of the most common blockchains
- Common testing and deployment practices for blockchains and blockchain-based apps
Course Objectives
Participants who attend this course will be able to demonstrate their ability to:
- Architect blockchain solutions
- Work effectively with blockchain engineers and technical leaders
- Choose appropriate blockchain systems for various use cases
- Work effectively with both public and permissioned blockchain systems
Target Audience
This course is for technology professionals seeking to gain deeper understanding of Blockchain technology implementation or programming level depth. Target audience includes:
- Consultants
- Programmers & Developers
- University Professors
- Software Engineers
- CEO/CTO/CIO
- Government Officials
Course Outline
- What is Blockchain
- Blockchain Basic Principles
- Centralized and Decentralized Ledgers
- Mechanics of Blockchain
- What is a Block?
- How are Blocks Chained Together?
- 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
- Types of Blockchains
- Public vs Private Blockchains
- Open vs Closed Blockchains
- Open Source Blockchain Projects
- Blockchain Smart Contracts
- How is Blockchain different from what we have today
- Types of Networks
- Centralized Networks
- Distributed Networks
- Decentralized Networks
- Software vs Firmware
- Blockchain vs Database
- Introduction to Ethereum
- History of Ethereum
- Blockchain as a Service
- How is Ethereum Used?
- Ether
- ERC-20
- ERC-721
- Smart Contracts
- Tokens and Coins
- Using Gas in Ethereum
- 0Introduction to Hyperledger
- What is Hyperledger?
- Why Hyperledger?
- Hyperledger Modules and Platforms
- Hyperledger Fabric
- Use cases for Blockchain
- Blockchain Application Architecture
- Integrated Development Environment (IDE)
- User Interaction Layer
- Middle/Interface Layer
- Smart Contracts/Chaincode
- What does a Blockchain app look like
- Guiding Design Principles
- Personas (User Types)
- User Stories (Application Interaction)
- Application Functional Requirements
- Application Technical Requirements
- Design Tasks
- Fundamental Design Questions
- How do I design 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
- 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
- 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
Programme scope, delivery arrangements and suitability are confirmed during enquiry.