Hyperledger for Blockchain Applications
3.7 (16 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
119 students enrolled

Hyperledger for Blockchain Applications

Build Blockchain projects which establish trust, security and transparency using Hyperledger
3.7 (16 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
119 students enrolled
Created by Packt Publishing
Last updated 11/2018
English
English [Auto-generated]
Current price: $86.99 Original price: $124.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 2.5 hours on-demand video
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Design and develop Hyperledger Blockchain business applications using the Hyperledger Composer and Fabric Framework
  • Work with permissionless and permissioned Blockchains and see how Bitcoin/Ethereum differ from Hyperledger
  • Set up a basic development Hyperledger Fabric network on your own computer
  • Access your Hyperledger Fabric network via Hyperledger Composer
  • Start building a simple Blockchain application for land registration
  • Package and install this application on your Hyperledger Fabric network
  • Write some basic unit tests to verify that the network works
  • Extend your network to host multiple peers on separate computers
  • Secure the network by implementing OAuth, implementing the Fabric Certificate Authority, and setting up your network on Kubernetes
Course content
Expand all 27 lectures 02:31:15
+ Technical Prerequisites
3 lectures 12:58

This video gives an overview of the entire course.

Preview 03:14

Set up a virtual machine environment and the required tools to work with Hyperledger Composer and Fabric.

   •  Set up a virtual machine

   •  Set up the shell with zsh, antigen, spaceship prompt, and byobu

   •  Set up the Atom editor with plugins

Development Environment
05:57

Set up the prerequisites to use Hyperledger Fabric and Composer.

   •  Set up git, node.js, Docker, and Python

   •  Install tools for working with Fabric and Composer

Setting Up Hyperledger
03:47
+ Permissioned versus Permissionless
5 lectures 23:59

We provide a brief demo of how a permissioned blockchain like Hyperledger Composer or Fabric works.

   •  Deploy Hyperledger Fabric

   •  Deploy the Hyperledger Composer playground and REST server

   •  Run tests on the blockchain to show how it works.

Preview 02:04

We describe the history of the bitcoin blockchain and what problem it solved.

   •  Explain the double-spend problem

   •  Describe how transactions leverage public key cryptography

   •  Explain how a blockchain is built through mining/consensus

A Brief History of Blockchain
06:01

We describe the problem that Ethereum solved, creating full-featured, distributed applications on top of the blockchain.

   •  Describe the limitations of the bitcoin blockchain.

   •  Introduce concepts such as distributed data store, smart contracts, and tokenized computation

   •  Discuss Ethereum platform and tools

Permissionless – Ethereum
03:02

We describe how Hyperledger Fabric addresses the problems that are evident in permissionless platforms such as Ethereum.

   •  Problems of permissionless: scaling, transaction cost, consensus, bad actors

   •  How Fabric addresses permissionless problems

   •  Describe transaction flow across clients, peers and orderers

Permissioned – HL Fabric
06:59

We compare permissionless and permissioned approaches head on and discuss where each is suited best.

   •  Pros and cons of permissionless

   •  Pros and cons of permissioned

   •  Discuss which types of projects each is best suited to

Comparing Approaches
05:53
+ HL Fabric and Composer
4 lectures 30:27

We go through the procedure of starting a basic Hyperledger Fabric newtork for development.

   •  Download and understand the fabric development servers scripts

   •  Start the Hyperledger Fabric containers

   •  Create and join a Fabric channel

Preview 07:13

We set up a connection to Hyperledger Composer by understanding how the connection profile works and setting up a PeerAdmin card to act as the connection identity.

   •  Create and understand the connection profile

   •  Locate the crypto material: private key and certificate

   •  Create the PeerAdmin card

The HL Composer Connection
06:06

Configure our blockchain network by creating the cryptographic material, blockchain blocks, and configuration, and understand the docker-composer.yml file.

   •  Create cryptographic material with cryptogen

   •  Create a genesis block and channel transaction with configtxgen

   •  Examine docker-compose.yml to understand the network components

Network Configuration
10:26

Test the composer Playground to get a feeling of how the composer components work, including the networks, connection cards, models, scripts, and access control.

   •  Start the composer playground

   •  Create a basic marbles network

   •  Perform some test transactions

HL Composer Playground
06:42
+ Building a Network
4 lectures 26:52

We generate an empty blockchain business network to develop our land registration system.

   •  Use Yeoman to generate an empty network

   •  Understand the Node.js package.json

   •  Understand the Modeling Language and Access Control files

Network Generation
03:46

We create the participants (individuals) and assets (land titles) of our land registration network.

   •  Understand the Modeling language

   •  Create a participant and an asset

   •  Generate dummy data in the Composer Playground

Participants and Assets
09:07

We create two transactions (smart contracts): UnlockLandTitle and TransferLandTitle.

   •  Add transaction definitions to the Modeling language file

   •  Add transactions to the JavaScript logic file

   •  Test transactions in the Composer Playground

Transactions
08:04

We look into Access Control Rules and Queries, and create some for our network.

   •  Understand Access Control Rules and create four of them

   •  Understand Queries and create four of them

Access Control and Queries
05:55
+ Deploying Our Network
2 lectures 14:03

We learn how to package, install, and upgrade our network on Hyperledger Fabric using the Hyperledger Composer Command-Line Interface (CLI).

   •  Package our network

   •  Install our network

   •  Upgrade our network

Packaging and Installing
05:48

We run and understand how the Composer REST server exposes our Business Network to be tested on a web browser or to be used by an application.

   •  Start the Composer REST server

   •  Create assets and participants, and run transactions and queries

   •  Examine the system API for ping, identities, and historian

Composer REST Server
08:15
+ Testing Our Network
4 lectures 20:27

We set up the testing environment so that we have a solid basis to run tests on our Hyperledger Composer business network.

   •  Set up Mocha and Chai in Node.js

   •  Create fixtures and test placeholders

   •  Set up the “before” hook to connect to "test blockchain"

The Test Environment
07:31

We start doing some basic implicit tests, demonstrating that we can create Assets (LandTitles) and Participants (Individuals).

   •  Create helpers to generate assets and participants from fixtures

   •  Create implicit tests for Individuals

   •  Create implicit tests for LandTitles

Asset and Participant Tests
04:27

For our transactions (smart contracts) we create a set of explicit tests that check for success (positive test) and failure (negative test).

   •  Create explicit tests for unlockLandTitle

   •  Create explicit tests for transferLandTitle

   •  Understand the difference between positive and negative tests

Transaction Tests
04:52

Our final test involves a query, where we check whether the listLandTitleBySize query works as intended.

   •  Write a test for listLandTitleBySize

   •  Understand how to test edge cases

   •  Bypass the issue with the ORDER BY bug in PouchDB

Query Tests
03:37
+ Next Steps and Exploration
5 lectures 22:29

We learn how to protect our Hyperledger Composer REST server from unintended users by using API keys and OAuth

   •  Understand that the Composer REST server can be protected

   •  Protect the REST server with an API key

   •  Protect the REST server with OAuth

REST Authentication
04:56

We learn how to extend our Hyperledger Fabric network by adding an extra peer, using our fabric-dev-servers material as the basis.

   •  Add a peer to the network

   •  Create crypto- and blockchain material for the peer

   •  Update the Hyperledger Composer connection to see the new peer

A Bigger Network
05:18

We learn how to set up a basic version of Kafka consensus on Hyperledger Fabric.

   •  Set up Kafka and add an extra orderer

   •  Create crypto- and blockchain material for the orderer

   •  Update the Hyperledger Composer connection to see the new orderer

Kafka Consensus
04:30

We learn how to use the Fabric CA Server and Client to generate cryptographic material, instead of using cryptogen.

   •  Start the Fabric CA Server

   •  Enroll the Fabric CA admin

   •  Enroll a peer and an orderer

Fabric Certificate Authority
03:44

We learn how we can use Kubernetes to deploy our network on a cluster of computers so that we can run Hyperledger Fabric in production.

   •  Understand how Kubernetes orchestrates containers.

   •  Understand the Helm package manager and charts

   •  Discuss the Kubeapps repository and Sasha’s Hyperledger Fabric charts.

Deploying on Kubernetes
04:01
Requirements
  • Basic requirements: o Familiarity with Node .js o Familiarity with Docker (and Docker Composer) o Familiarity with the Linux command line
Description

While building enterprise grade Blockchain applications to serve a large set of customers you need to think whether your application complies with data protection regulations. Using the Hyperledger framework you can build permissioned applications with better performance, scalability and trust. This will not only give you full control of data being shared with other parties but also brings in a higher level of security.

This course will teach you all the basics of Hyperledger Fabric technology so that you can use it in your Enterprise grade projects with better understanding & clarity. You will learn about Hyperledger Fabric, how it is different from technologies like Bitcoin, Ethereum & related crypto currencies. Architecture and components of Hyperledger Fabric & how this works in applications. You will be building a legal land registration application with Hyperledger Fabric which caters to a large set of customers and also can be used by large enterprises for a non-financial projects. Evaluate if a business application will benefit by adoption of Distributed Ledger Technology. By the end of this course you will be confident in building your own fault-tolerant, high performance, secure business related applications using Hyperledger Fabric and Compose framework on Blockchain technology.

All the code and supporting files for this course are available on Github.

About the Author

Alejandro Vicente Grabovetsky is CTO and Chief Data Scientist at AID:Tech, and uses Blockchain to bring social and financial Inclusion to the world's undocumented and underserved. Sasha got his BA and PhD at the University of Cambridge, and worked as a Cognitive Neuroscience PostDoc at the Donders Institute in the Netherlands before lighting his entrepreneurial spark in 2014. He has worked on Machine Learning and AI during both his scientific life and at his previous healthcare-focused startup Avalon AI, which went through acclaimed accelerators such as Entrepreneur First and Techstars. Currently his favorite toys are Hyperledger Fabric/Composer, Kubernetes/Helm, and Keras/Tensorflow.

Who this course is for:
  • Developers who want to learn Blockchain application development to build enterprise-grade applications other than Cryptocurrencies and Etherium. Entrepreneurs and Blockchain enthusiasts will also benefit from this tutorial.