8-12 hours per week
A computer with at least 8 GB RAM and Docker compatible host OS(min: macOS Yosemite 10.10.3; Ubuntu 16.04)
About this Course
Hyperledger Sawtooth is a modular platform for building, deploying, and running distributed ledgers. It includes a novel consensus algorithm called Proof of Elapsed Time (PoET), which targets large distributed validator populations with minimal resource consumption.
Its modularity makes it especially interesting for developers and enterprises. Sawtooth also allows us to define rules for transactions and smart contracts tailored to individual needs. This is a permissioned network with great capacity for scalability.
At first glance, Sawtooth might seem unusual to experienced blockchain developers who have never seen concepts such as “transaction families” before. However, a closer look reveals that despite looking different, such concepts can be used to implement familiar ones in more flexible and modular ways.
This online Hyperledger Sawtooth course offers developers an opportunity to become proficient with blockchain and Hyperledger Sawtooth. After reviewing the fundamentals of blockchain technology, we will learn how Hyperledger Sawtooth fits in the blockchain environment, discovering its architecture, tools and transaction families. Next, we will look at different SDKs to eventually be able to analyse real-world examples and identify the most important aspects.
Module 1 - Blockchain Foundations
This module focuses on the basics of blockchain technology and compares leading blockchains and DLT platforms. This is a refresher intended to provide context for participants who know and a clear introduction for those who are new to this paradigm.
- What is blockchain?
- How do public blockchains work?
- The most prominent consensus mechanisms
- All about managed blockchains
- Key cryptography concepts
- Why Hyperledger?
Module 2 - Getting to Know Hyperledger Sawtooth
Hyperledger Sawtooth introduces many new concepts that challenge traditional approaches to system architecture. Start building your Sawtooth vocabulary, get acquainted with the network components and architecture. You will also run your first network and interact with it using the command line interface and REST API.
- Key Sawtooth definitions
- General architecture overview
- What is the Journal?
- How does the validator network work?
- How to deal with permissions
- Starting Your First Network
- How to use the command line interface
- Interacting through REST API
Module 3 - Transaction Families
A transaction family is a set of rules or transaction types that you allow on your ledger. In this module, you will learn why transaction families are integral to Hyperledger Sawtooth framework and understand how the basic ones work. In addition, you will discover how Seth (Sawtooth Ethereum) can be used to run Ethereum smart contracts on a Sawtooth network.
- On basic transaction families
- IntegerKey: the simplest transaction family
- Identity: a more complex but useful transaction family
- BlockInfo: how to get key information about blocks
- XO: a blockchain game
- What is Seth?
- How to deploy EVM contracts on a Sawtooth network
Module 4- SDKs
- Introduction to the Python SDK
- How to send transactions to a Sawtooth network in Python
- How to implement a new transaction family
- How to handle events
Module 5- Real World Examples
Ready to get as close as you can to real-life applications of Sawtooth distributed ledgers? Armed with the knowledge gained from previous modules, you will do an in-depth analysis of the official Hyperledger use case examples. From here, you will extract best practices and modify the code to round off your practical understanding of Hyperledger Sawtooth.
- Supply chain traceability: combining Sawtooth and IoT test data to create a secure record of seafood's journey from ocean to table.
- Sawtooth marketplace: using a browser-based GUI with a Sawtooth transaction family, allowing users to create and exchange digital assets
The final exam consists of two parts. In the first part, we will test your theoretical knowledge of Hyperledger Sawtooth concepts. Can you design a network for a given use case? Can you explain the advantages and disadvantages of your solution?
The second part of the exam is all about demonstrating your ability to implement different solutions with Hyperledger Sawtooth. Can you build and maintain a network? Can you implement clients and transaction families with different SDKs?
Teaching & Communication
The B9lab online learning experience goes far beyond videos, readings and multiple choice tests. Our courses are fully mentored, self-paced and flexible in that you do not have to be online at a certain time.
We also offer a dedicated Slack channel for all students where you can collaborate with classmates and receive 1-on-1 tutoring from expert instructors, who are there to guide you throughout the course and exam period. You can reach out to them anytime to clarify course content and reach your individual learning goals at your own pace.
Your course team
Murat Anil Oner
Anil is a self-taught, lifelong developer with a MSc in Biophysics from the Technical University Munich. He has worked with many programming languages (and built his own), higher mathematics, and has been part of research projects in particle physics, electrotechnics and computer-based simulations. He has experience with embedded systems, cryptography and has even written code for a particle accelerator.
Rob has worn many hats in his extensive IT career including experience designing, constructing, implementing and operating innovative software solutions, developing training programs and supporting online education platforms. Rob has been dabbling in blockchain technology since the early days and quickly recognised the disruptive potential of Smart Contracts and decentralised apps. Since 2016, Rob has been absorbing all things related to Smart Contracts and supporting developers on their quest to master this technology.
This is a 5-week course with new content released every week.
The course is designed to be flexible and self-paced. That means you don’t have to be online at a specific time and you can study the material whenever it fits best into your daily routine.
B9lab awards certificates to participants who pass the final exam with a grade of 80% or higher. This certificate is publicly verifiable on the Ethereum blockchain.
You can see how B9lab certification works at the B9lab Certification Center.