Reference Example Overview
Each year, Influenza begins in the Southern Hemisphere and migrates around the world mutating along the way. The CDC makes educated guesses as to which strain will be the most virulent for which to create vaccines. When the flu season makes its way to the United States, the CDC and state-level agencies track its progress by medical practitioner reports and monitoring search engines for folks searching for the flu.
Imagine that a blockchain exists and the CDC, State Health and Human Services, medical practitioners, and testing labs are all participating as Peer Nodes in that blockchain.
Implements a HyperLedger blockchain network with chaincode that manages a ledger of Influenza tests.
The chaincode implements functions to create and retrieve Influenza test results.
A web application (deployed to the cloud) integrates with blockchain to provide real-time, secure information.
Center for Disease Control
State Health Services
A Certificate Authority ("CA Server") ensures all actors have the correct authentication to access the data.
Users from the CDC and Lab can interact directly with the blockchain through React/Node/js web application.
Each participant starts up a Peer Node. Hyperledger provides a Docker-based container to start up a Peer.
The Peer requires cryptographic keys, certificates, and for Hyperledger to provide a utility to generate these.
A Certificate Authority is also required to authorize these certificates in the network. This is provided by the framework.
For our example, the Influenza chaincode function is defined in a Labs.go file. A Fabric stub interface provides an API to put and get data from the blockchain global data store.
Integrating With a Web Application
With the Influenza blockchain being used by all parties, lab results will be distributed throughout the network applications. Blockchain users can interact and process this real-time data by creating client applications that access a Peer Node.
Example: we use React for the user interface with Node.js as an API layer.