Hands-On Blockchain with Hyperledger

Hands-On Blockchain with Hyperledger




Building decentralized applications with Hyperledger Fabric and Composer Nitin Gaur Luc Desrosiers Venkatraman Ramakrishna Petr Novotny Dr. Salman A. Baset Anthony O’Dowd




Hands-On Blockchain with Hyperledger Copyright © 2018 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Commissioning Editor: Sunith shetty Acquisition Editor: Tushar Gupta Content Development Editor: Tejas Limkar Technical Editor: Dharmendra Yadav Copy Editors: Safis Editing Project Coordinator: Manthan Patel Proofreader: Safis Editing Indexer: Priyanka Dhadke Graphics: Tania Dutta



Production Coordinator: Deepika Naik First published: June 2018 Production reference: 1190618 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78899-452-1 www.packtpub.com


Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website.

Why subscribe? Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals Improve your learning with Skill Plans built especially for you Get a free eBook or video every month



Mapt is fully searchable Copy and paste, print, and bookmark content

PacktPub.com Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details. At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks.

Foreword In my role as the chair of the Hyperledger Technical Steering Committee, I’ve come to realize the great divide between the enormous hype surrounding blockchain and the depth of understanding of how blockchain technology works, where the technology is on the maturity curve, and how it might be leveraged in the context of the enterprise. Most of the hype relates to the cryptocurrency aspects of public, permission- less blockchain—ICOs as a substitute for more traditional IPOs, and the potential for disrupting traditional systems of banking, insurance, securities, and so on. It is the potential for disruption and the asymmetric profits that disruption might yield that have driven many to explore how blockchain might be used to one company’s advantage over the rest of a given domain. However, what many are discovering is that blockchain is a team sport, and



for blockchain to be successful in an enterprise, it demands a degree of industry collaboration not seen before. The authors of this book take you beyond the hype. They lay a solid foundation for understanding the state of the technology landscape— including active and incubating projects under development at Hyperledger. They provide you with a framework for choosing the right technology platform, designing your solution, and integration with existing systems. And they explain the various governance models for establishing and operating a blockchain business network. If you are an enterprise architect or developer tasked with developing a blockchain solution for your enterprise or industry, this book is a must-read. Cheers, Christopher Ferris IBM Distinguished Engineer, CTO Open Technology IBM Digital Business Group, Open Technologies


About the authors Nitin Gaur, as the director of IBM’s Blockchain Labs, is responsible for instituting a body of knowledge and organizational understanding around blockchain technology and industry-specific applications. Tenacious and customer focused, he is known for his ability to analyze opportunities and create technologies that align with operational needs, catapult profitability,



and dramatically improve customer experience. He is also an IBM Distinguished Engineer.

Luc Desrosiers is an IBM-certified IT architect with 20+ years of experience. Throughout his career, he has taken on different roles: developer, consultant, and pre-sales architect. He recently moved from Canada to the UK to work in a great lab: IBM Hursley. This is where he had the opportunity to join the IBM Blockchain team. He is now working with clients across multiple industries to help them explore how blockchain technologies can enable transformative uses and solutions. Venkatraman Ramakrishna is an IBM researcher with 10 years of experience. Following a BTech from IIT Kharagpur and PhD from UCLA, he worked in the Bing infrastructure team in Microsoft, building reliable application deployment software. At IBM Research, he worked in mobile computing and security before joining the Blockchain team. He has developed applications for trade and regulation, and is now working on improving the performance and privacy-preserving characteristics of the Hyperledger platform. Petr Novotny is a research scientist at IBM Research, with 15+ years of experience in engineering and research of software systems. He received an MSc from University College London and PhD from Imperial College London, where he was also a post-doctoral research associate. He was a visiting scientist at the U.S. Army Research Lab. At IBM, he works on innovations of blockchain technologies and leads the development of blockchain solutions and analytical tools. Dr. Salman A. Baset is the CTO of security in IBM Blockchain Solutions.



He oversees the security and compliance of blockchain solutions being built by IBM in collaboration with partners such as Walmart and Maersk, and interfaces with clients on blockchain solutions and their security. He drives the implementation of the General Data Protection Regulation for blockchain-based solutions. He has also built the identity management system, used by Fortune 500 companies involved in global trade digitization, and IBM Food Trust blockchain solutions. Anthony O’Dowd works in IBM’s Blockchain team. He is based in Europe as part of a worldwide team that helps users build solutions that benefit from blockchain tech. Anthony has a background in middle and back office systems, and has led the development of key IBM middleware in enterprise messaging and integration. He likes to work in different industries to understand how they can exploit middleware to build more efficient, integrated business systems.

Packt is searching for authors like you If you’re interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea.



Table of Contents Title Page

Copyright and Credits

1. Hands-On Blockchain with Hyperledger

Packt Upsell

1. Why subscribe? 2. PacktPub.com



1. About the authors 2. Packt is searching for authors like you


1. Who this book is for 2. What this book covers 3. To get the most out of this book

1. Download the example code files 2. Conventions used

4. Get in touch 1. Reviews

Blockchain – Enterprise and Industry Perspective

1. Defining the terms – what is a blockchain?



2. Four core building blocks of blockchain framworks 1. Additional capabilities to consider

3. Fundamentals of the secure transaction processing protocol 4. Where blockchain technology has been and where it’s going

1. The great divide 2. An economic model for blockchain delivery 3. Learning as we go 4. The promise of trust and accountability

5. Industries putting blockchain technology to work 6. Blockchain in the enterprise

1. What applications are a good fit? 2. How does the enterprise view blockchain? 3. Litmus testing to justify the application of blockchain


4. Integrating a blockchain infrastructure for the whole enterprise

7. Enterprise design principles 1. Business drivers and evolution 2. Ensuring sustainability 3. The principles that drive blockchain adoption

8. Business considerations for choosing a blockchain framework 9. Technology considerations for choosing a blockchain


1. Identity management 2. Scalability 3. Enterprise security 4. Development tooling 5. Crypto-economic models 6. Decentralization with systemic governance



7. Enterprise support 8. Use case-driven pluggability choices

1. Shared ledger technology 2. Consensus 3. Crypto algorithms and encryption technology 4. Use case-driven pluggable choices

10. Enterprise integration and designing for extensibility 11. Other considerations

1. Consensus, ACID property, and CAP 1. CAP 2. ACID

2. Attestation – SSCs are signed and encrypted 3. Use of HSMs

12. Summary

Exploring Hyperledger Fabric

1. Building on the foundations of open computing 1. Fundamentals of the Hyperledger project

1. The Linux Foundation  2. Hyperledger 3. Open source and open standards

2. Hyperledger frameworks, tools, and building blocks 1. Hyperledger frameworks 2. Hyperledger tools 3. The building blocks of blockchain solutions

3. Hyperledger Fabric component design 1. Principles of Hyperledger design 2. CAP Theorem



3. Hyperledger Fabric reference architecture 4. Hyperledger Fabric runtime architecture 5. Strengths and advantages of componentized design

4. Hyperledger Fabric – the journey of a sample transaction

5. Hyperledger Fabric explored 1. Components in a blockchain network 2. Developer interaction

6. Understanding governance in business networks powered by blockchain

1. Governance structure and landscape 2. Information technology governance 3. Blockchain network governance 4. Business network governance

7. Summary

Setting the Stage with a Business Scenario

1. Trading and letter of credit 1. The importance of trust in facilitating trade 2. The letter of credit process today

2. Business scenario and use case 1. Overview 2. Real-world processes 3. Simplified and modified processes 4. Terms used in trade finance and logistics 5. Shared process workflow 6. Shared assets and data 7. Participants’ roles and capabilities



8. Benefits of blockchain applications over current real- world processes

3. Setting up the development environment 1. Designing a network 2. Installing prerequisites 3. Forking and cloning the trade-finance-logistics


4. Creating and running a network configuration  1. Preparing the network 2. Generating network cryptographic material 3. Generating channel artifacts 4. Generating the configuration in one operation 5. Composing a sample trade network

4. Network components’ configuration files 5. Launching a sample trade network 6. Summary

Designing a Data and Transaction Model with Golang

1. Starting the chaincode development 1. Compiling and running chaincode 2. Installing and instantiating chaincode 3. Invoking chaincode

2. Creating a chaincode 1. The chaincode interface 2. Setting up the chaincode file

1. The Invoke method 3. Access control




1. Registering a user 2. Enrolling a user 3. Retrieving user identities and attributes in


4. Implementing chaincode functions 1. Defining chaincode assets 2. Coding chaincode functions 3. Creating an asset 4. Reading and modifying an asset 5. Main function

5. Testing chaincode 1. SHIM mocking

1. Testing the Init method 2. Testing the Invoke method 3. Running tests

6. Chaincode design topics 1. Composite keys 2. Range queries 3. State queries and CouchDB 4. Indexes 5. ReadSet and WriteSet 6. Multiversion concurrency control

7. Logging output 1. Configuration 2. Logging API 3. SHIM logging levels 4. Stdout and stderr 5. Additional SHIM API functions



8. Summary

Exposing Network Assets and Transactions

1. Building a complete application 1. The nature of a Hyperledger Fabric application

1. Application and transaction stages 2. Application model and architecture

2. Building the application 3. Middleware – wrapping and driving the


1. Installation of tools and dependencies 1. Prerequisites for creating and running the


2. Installation of dependencies 2. Creating and running the middleware

1. Network configuration 2. Endorsement policy 3. User records 4. Client registration and enrollment 5. Creating a channel 6. Joining a channel 7. Installation of chaincode 8. Instantiation of chaincode 9. Invoking the chaincode

10. Querying the chaincode 11. Completing the loop – subscribing to

blockchain events

12. Putting it all together



4. User application – exporting the service and API

1. Applications 2. User and session management 3. Designing an API 4. Creating and launching a service

1. User and session management 2. Network administration 3. Exercising the application 4. User/client interaction modes

5. Testing the Middleware and Application 2. Integration with existing systems and processes

1. Design considerations 2. Decentralization 3. Process alignment

1. Message affinity 4. Service discovery 5. Identity mapping 6. Integration design pattern

1. Enterprise system integration 2. Integrating with an existing system of record 3. Integrating with an operational data store 4. Microservice and event-driven architecture

7. Considering reliability, availability, and serviceability

1. Reliability 2. Availability 3. Serviceability

3. Summary



Business Networks

1. A busy world of purposeful activity 1. Why a language for business networks?

2. Defining business networks 1. A deeper idea

3. Introducing participants 1. Types of participant

1. Individual participants 2. Organizational participants 3. System or device participants

2. Participants are agents 3. Participants and identity

4. Introducing assets 1. Assets flow between participants 2. Tangible and intangible assets 3. The structure of assets 4. Ownership is a special relationship 5. Asset life cycles 6. Describing asset’s life cycles in detail with


5. Introducing transactions 1. Change as a fundamental concept 2. Transaction definition and instance 3. Implicit and explicit transactions 4. The importance of contracts 5. Signatures 6. Smart contracts for multi-party transaction processing 7. Digital transaction processing



8. Initiating transactions 9. Transaction history

10. Transaction streams 11. Separating transactions into different business networks 12. Transaction history and asset states 13. A business network as a history of transactions 14. Regulators and business networks

6. Discussing events from the perspective of designing a business network using Composer

1. A universal concept 2. Messages carry event notifications 3. An example to illustrate event structure 4. Events and transactions 5. External versus explicit events 6. Events cause participants to act 7. Loosely coupled design 8. The utility of events

7. Implementing a business network 1. The importance of de-materialization 2. Blockchain benefits for B2B and EDI 3. Participants that interact with the blockchain 4. Accessing the business network with APIs 5. A 3-tier systems architecture 6. Hyperledger Fabric and Hyperledger Composer

8. Summary

A Business Network Example

1. The letter of credit sample



1. Installing the sample 2. Running the sample

1. Step 1 – preparing to request a letter of credit

2. Step 2 – requesting a letter of credit

3. Step 3 – importing bank approval 4. Step 4 – exporting bank approval 5. Step 5 – letter received by


6. Step 6 – shipment 7. Step 7 – goods received 8. Step 8 – payment 9. Step 9 – closing the letter

10. Step 10 – Bob receives payment 3. Recapping the process

2. Analyzing the letter of credit process 1. The Playground 2. Viewing the business network

3. A description of the business network 1. The participant descriptions 2. The asset descriptions 3. The transaction descriptions 4. The event descriptions

4. A model of the business network 1. Namespaces 2. Enumerations 3. Asset definitions



4. Participant definitions 5. Concept definitions 6. Transaction definitions 7. Event definitions

5. Examining the live network 1. Examining a letter of credit instance 2. Examining participant instances 3. Examining transaction instances 4. Submitting a new transaction to the network 5. Understanding how transactions are implemented

6. Creating business network APIs 1. SWAGGER API definitions 2. Querying the network using SWAGGER 3. Testing the network from the command line 4. Creating a new letter using SWAGGER 5. Network cards and wallets 6. Access-control lists

7. Summary

Agility in a Blockchain Network

1. Defining the promotion process 1. Smart contract considerations 2. Integration layer considerations 3. Promotion process overview

2. Configuring a continuous integration pipeline 1. Customizing the pipeline process

1. Local build 2. Configuring Travis CI



3. Customizing the pipeline using .travis.yml 2. Publishing our smart contract package

3. Configuring your Git repository 1. Setting the code owners of our smart contract

1. Sample content of the CODEOWNERS 2. Protecting the master branch 3. Configuring Git for commit signing and validation

1. Configuring GPG on your local workstation 4. Testing the end-to-end process

1. Creating a new transaction 1. Pushing a commit to the master branch directly 2. Submitting a pull request with an unsigned commit

2. Adding test cases 1. Submitting a pull request with a signed commit 2. Adding the mergeAssets unit test

3. Releasing the new version 5. Updating the network

1. Notifying the consortium 2. Upgrading the business network

1. Downloading a new version 2. Updating the business network

6. Summary

Life in a Blockchain Network

1. Modifying or upgrading a Hyperledger Fabric application 1. Fabric blockchain and application life cycle 2. Channel configuration updates

1. Prerequisites for adding a new organization to the




2. Generating network cryptographic material 3. Generating channel artifacts 4. Generating the configuration and network components

in one operation

5. Launching the network components for the new organization

6. Updating the channel configuration 7. Adding the new organization to the network

3. Smart contract and policy updates 1. Modification in chaincode logic 2. Dependency upgrades in chaincode 3. Ledger resetting 4. Endorsement policy update 5. Upgrading chaincode and endorsement policy on the

trade channel

4. Platform upgrades 2. System monitoring and performance

1. Measurement and analytics 2. What should we measure or understand in a Fabric


1. Blockchain applications vis-à-vis traditional transaction processing applications

2. Metrics for performance analysis 3. Measurement and data collection in a Fabric application

1. Collecting health and capacity information 2. Profiling containers and applications 3. Measuring application performance

4. Fabric engineering guidelines for performance



1. Platform performance characteristics 2. System bottlenecks 3. Configuration and tuning 4. Ledger data availability and caching

1. Redundant committing peer 2. Data caching

5. Fabric performance measurement and benchmarking 3. Summary

Governance, Necessary Evil of Regulated Industries

1. Decentralization and governance 2. Exploring the business models

1. Blockchain benefits 1. Supply chain management 2. Healthcare 3. Finance – letter of credit

2. From benefits to profits 3. Network business model

1. Founder-led network 2. Consortium-based network 3. Community-based network 4. Hybrid models

1. Joint venture 2. New corporation

3. Role of governance in a business network 4. Business domains and processes

1. Membership life cycle 2. Funding and fees



3. Regulation 4. Education 5. Service life cycle 6. Disputes

5. Governance structure 1. Centralized governance

1. Strategic governance 2. Operational governance 3. Tactical governance

2. Decentralized governance 6. Governance and the IT solution

1. Managed on-boarding 7. Summary

Hyperledger Fabric Security

1. Hyperledger Fabric design goals impacting security 2. Hyperledger Fabric architecture 

1. Fabric CA or membership service provider 2. Peer 3. Smart contract or chaincode 4. Ledger 5. Private data 6. Ordering service

3. Network bootstrap and governance – the first step towards security

1. Creating the network 2. Adding new members 3. Deploying and updating chaincode 



4. Data model 4. Strong identities – the key to the security of

the Hyperledger Fabric network

1. Bootstrapping Fabric CA 1. Register 2. Default Fabric roles  3. Enroll

1. Which crypto protocols are allowed in certificate signing requests?

4. Revoking identities  2. Practical considerations in managing users in Fabric CA

5. Chaincode security 1. How is chaincode shared with other endorsing peers? 2. Who can install chaincode? 3. Chaincode encryption 4. Attribute-based access control

1. Pros and cons of attribute-based access control 6. Common threats and how Hyperledger Fabric mitigates


1. Transaction privacy in Hyperledger Fabric 1. Channels 2. Private data 3. Encrypting transaction data

7. Hyperledger Fabric and Quantum Computing 8. General data protection regulation (GDPR) considerations 9. Summary

The Future of Blockchain and the Challenges Ahead



1. Summary of key Hyperledger projects 1. Hyperledger framework – business

blockchain technology

2. Hyperledger tools 1. Hyperledger Composer

2. The road ahead for Blockchain 1. Addressing the divide – the enterprise blockchain

and crypto asset-driven ecosystem

2. Interoperability – understanding business service integration

3. Scalability and economic viability of the blockchain solution 

3. Staying engaged with the Hyperledger blockchain  4. Summary

Other Books You May Enjoy

1. Leave a review – let other readers know what you think

Preface We would like to thank our readers in taking time to consume our collective body of work that is representative of our practice, experience, and knowledge gained along the way. This book was motivated by the desire that we and others have had to contribute to the evolution of blockchain technologies. We were also challenged by a lack of a comprehensive guide



that addresses myriad considerations, including but not limited to technology design choices, architecture choice, business consideration, and governance models. The authors of this book represent a unique and diverse set of skills, which should be evident in addressing the depth of the content with ease and simplicity. We have collectively focused on organization and flow to ensure not only an easy-to-follow and natural flow but also topical modularity. The contents of this book are aimed to address a diverse audience, from business leaders to blockchain developers and anyone who would like to learn from practitioners’ experience expressed in this book. We believe that not only will the audience enjoy and benefit personally and professionally from the book, but also this book will be used as reference material, a handbook of sorts, and aid in making informed design decisions. We encountered various challenges while writing this book, including our own demanding schedule, but ensured that we deliver up-to date information at the time of release of this content. Blockchain technology landscape is in flux and keeping up with evolution and innovation is a challenge. We have attempted to distill a model that will benefit the reader to create a framework to methodically consume blockchain-related update and build upon the foundation laid out in this book. We have also expended a lot of energy in addressing business design and resulting technology design choices, because unlike other pure technology platforms Blockchain (powered business network), is a very business-specific and technology-centric discipline. We hope the findings and documented considerations from practitioners will arm business leaders and technology managers in making informed decisions and minimizing the failures experienced by the authors. The technical content covered in this book, aims to provide a solid foundation to a diverse set of skills, including IT professionals, blockchain novices, and advanced blockchain developers. Modeled after a real-world use case, the



application development story weaves in various steps from infrastructure creation to Dev-Ops models and model-driven development, covering various enterprise technology management challenges with a focus on the blockchain network-centric impact of application deployment. We have provided a framework for security and performance design, which we hope the technical audience find particularly helpful and establish a solid foundation as a technology design consideration. We’ll conclude the book with a pragmatic view of various challenges and related opportunities, and call for the community of readers to rise up to the challenges and reap the rewards of the resulting opportunities. While this book focuses on and targets Hyperledger projects, we expect the core topics covered in this book to be universally applicable to the blockchain technology discipline. We sincerely hope that our effort in time and acumen is well received by our readers and arm them with a strong foundation to make impactful contributions to progressing the blockchain innovation agenda.



Who this book is for The book benefits business leaders as it provides a comprehensive view on blockchain business models, governance structure, and business design considerations of blockchain solutions. Technology leaders stand to gain a lot from the detailed discussion around the technology landscape, technology design, and architecture considerations in the book. With model-driven application development, this guide will speed up understanding and concept development for blockchain application developers. The simple and well organized content will put novices at ease with blockchain concepts and constructs.



What this book covers Chapter 1, Blockchain – Enterprise and Industry Perspective, you’ve heard about blockchain and you are wondering, What is all the fuss about? In this chapter, we explore why blockchain is a game changer, what innovation it brings, and what the technology landscape is. Chapter 2, Exploring Hyperledger Fabric, with an understanding of the blockchain landscape, we turn our attention to Hyperledger Fabric. The aim of this chapter is to walk you through the deployment of each component of Hyperledger Fabric while unveiling/building the architecture. Chapter 3, Setting the Stage with a Business Scenario, describes a business use case and then focuses on understanding the process of creating a good business network using blockchain from requirements to design. Chapter 4, Designing a Data and Transaction Model with Golang, aims to define what makes up a smart contract in Hyperledger Fabric. It will also introduce you to some terms regarding smart contracts and get you to experience the development of a chaincode using the Go language. Chapter 5, Exposing Network Assets and Transactions, leveraging the smart contract written in the previous chapter, this chapter looks at the required integration of application to the network. It takes the readers through the process of configuring a channel, and installing and invoking chaincode, from a client application and considers the various integration patterns that might be used. Chapter 6, Business Networks, has an objective to introduce and uncover the skills and tools needed to model a business network. Working at a higher level of abstraction, the foundation, tools, and framework will provide the reader with a way to quickly model, design, and deploy a complete end-to-



end business network. Chapter 7, A Business Network Example, putting the concepts of Chapter 6 into practice, this chapter walks through the steps to deploy a full business network from end user application to smart contracts. Chapter 8, Agility in a Blockchain Network, focuses on the aspects required to maintain agility in a blockchain network. Applying DevOps concepts, the reader is presented with a continuous integration / continuous delivery pipeline. Chapter 9, Life in a Blockchain Network, aims to raise the reader’s awareness on the key activities and challenges that organizations and consortium may face when adopting a distributed ledger solution, ranging from management of application changes to maintenance of adequate performance levels. A successful network deployment will hopefully see many organizations join it and the number of transactions increase. Chapter 10, Governance –The Necessary Evil of Regulated Industries, governance is a necessary evil for regulated industries, but governance is not required only for business network that deal with use cases for regulated industries. It is also a good practice to ensure longevity and scalability of a business network. This chapter explores vital considerations for production readiness for any founder-led blockchain network. Chapter 11, Hyperledger Fabric Security, lays the foundation for security design of blockchain networks. Various security constructs are discussed and Hyperledger Fabric security is explained in detail. An essential chapter to understand security design considerations. Chapter 12, The Future of Blockchain and the Challenges Ahead, looks ahead and discusses the challenges and opportunities that lie ahead. Through the use of open technologies, it invites readers to engage in and promote the blockchain innovation agenda.



To get the most out of this book 1. We’ve focused on organization and flow. The content is made to ensure

not only an easy-to-follow and natural flow but also topical modularity. 2. Each chapter explores a facet of blockchain. While Hyperledger projects

are specifically discussed, the core areas of focus are universal to blockchain technology discipline.

3. Explore the summary and tips in each chapter to get an essence of topics covered.

4. There are chapters that provide general blockchain business and technology landscape discussions, and there are chapters that go into specific technical how-to. Both are important topics to broaden your knowledge base.

Download the example code files You can download the example code files for this book from your account at www.packtpub.com. If you purchased this book elsewhere, you can visit www.packtpub.com/support and register to have the files emailed directly to you. You can download the code files by following these steps:

1. Log in or register at www.packtpub.com. 2. Select the SUPPORT tab. 3. Click on Code Downloads & Errata. 4. Enter the name of the book in the Search box and follow the onscreen




Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

WinRAR/7-Zip for Windows Zipeg/iZip/UnRarX for Mac 7-Zip/PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Handson-Blockchain-

Development-with-Hyperledger. We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Conventions used There are a number of text conventions used throughout this book. CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, path names, dummy URLs, user input, and Twitter handles. Here is an example: “The orderer belongs to its own organization called TradeOrdererOrg.” A block of code is set as follows:

– &ExporterOrg Name: ExporterOrgMSP ID: ExporterOrgMSP MSPDir: crypto- config/peerOrganizations/exporterorg.trade.com/msp AnchorPeers: – Host: peer0.exporterorg.trade.com Port: 7051



Any command-line input or output is written as follows:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4e636f0054fc hyperledger/fabric-peer:latest “peer node start” 3 minutes ago Up 3 minutes >7051/tcp,>7053/tcp peer0.carrierorg.trade.com 28c18b76dbe8 hyperledger/fabric-peer:latest “peer node start” 3 minutes ago Up 3 minutes >7051/tcp,>7053/tcp peer0.importerorg.trade.com 9308ad203362 hyperledger/fabric-ca:latest “sh -c ‘fabric-ca-se…” 3 minutes ago Up 3 minutes>7054/tcp ca_peerExporterOrg

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: “You can apply for a letter of credit by clicking on the Apply button.”

Warnings or important notes appear like this.

Tips and tricks appear like this.

Get in touch Feedback from our readers is always welcome. General feedback: Email [email protected] and mention the book title in the subject of your message. If you have questions about any aspect of this book, please email us at [email protected] Errata: Although we have taken every care to ensure the accuracy of our



content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details. Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material. If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Get Professional Assignment Help Cheaply

fast coursework help

Are you busy and do not have time to handle your assignment? Are you scared that your paper will not make the grade? Do you have responsibilities that may hinder you from turning in your assignment on time? Are you tired and can barely handle your assignment? Are your grades inconsistent?

Whichever your reason may is, it is valid! You can get professional academic help from our service at affordable rates. We have a team of professional academic writers who can handle all your assignments.

Our essay writers are graduates with diplomas, bachelor's, masters, Ph.D., and doctorate degrees in various subjects. The minimum requirement to be an essay writer with our essay writing service is to have a college diploma. When assigning your order, we match the paper subject with the area of specialization of the writer.

Why Choose Our Academic Writing Service?

  • Plagiarism free papers
  • Timely delivery
  • Any deadline
  • Skilled, Experienced Native English Writers
  • Subject-relevant academic writer
  • Adherence to paper instructions
  • Ability to tackle bulk assignments
  • Reasonable prices
  • 24/7 Customer Support
  • Get superb grades consistently

How It Works

1.      Place an order

You fill all the paper instructions in the order form. Make sure you include all the helpful materials so that our academic writers can deliver the perfect paper. It will also help to eliminate unnecessary revisions.

2.      Pay for the order

Proceed to pay for the paper so that it can be assigned to one of our expert academic writers. The paper subject is matched with the writer’s area of specialization.

3.      Track the progress

You communicate with the writer and know about the progress of the paper. The client can ask the writer for drafts of the paper. The client can upload extra material and include additional instructions from the lecturer. Receive a paper.

4.      Download the paper

The paper is sent to your email and uploaded to your personal account. You also get a plagiarism report attached to your paper.



order custom essay paper