HLF Service Discovery

Session Topic or Project

Hyperledger Fabric (HLF) is a modular and extensible permissionedblockchain platform released to open-source and hosted by theLinux Foundation. The platform’s design exhibits principles re-quired by enterprise grade business applications like supply-chains,financial transactions, asset management, food safety, and manymore. For that end HLF introduces several innovations, two ofwhich are smart contracts in general purpose languages (chaincodein HLF), and flexible endorsement policies, which govern whethera transaction is considered valid.Typical blockchain applications are comprised of two tiers: thefirst tier focuses on the modelling of the data schema and embeddingof business rules into the blockchain by means of smart contracts(chaincode) and endorsment policies; and the second tier uses theSDK (Software Development Kit) provided by HLF to implementclient side application logic.However there is a gap between the two tiers that hinders therapid adoption of changes in the chaincode and endorsement poli-cies within the client SDK. Currently, the chaincode location andendorsement policies are statically configured into the client SDK.This limits the reliability and availability of the client in the eventof changes in the platform, and makes the platform more difficultto use. In this work we address and bridge the gap by describingthe design and implementation ofService Discovery.Service Discoveryprovides APIs which allow dynamic discoveryof the configuration required for the client SDK to interact with theplatform, alleviating the client from the burden of maintaining it.This enables the client to rapidly adapt to changes in the platform,thus significantly improving the reliability of the application layer.It also makes the HLF platform more consumable, simplifying thejob of creating blockchain applications.

Session Leader

Artem Barger

Time Slots and Spaces

Experience Level of Participants

Hyperledger Fabric maintainer

Session Language

Russian

Programming Language(s)

  • C / C++
  • Go
  • Java
  • Javascript
  • Python
  • Rust
  • Other

Other Prerequisites

The Plan

The Goals

Software to Install Before

Special Equipment Required