Hands-on blockchain with hyperledger building decentralized applications with hyperledger fabric and composer

Leverage the power of Hyperledger Fabric to develop Blockchain-based distributed ledgers with ease Key Features Write your own chaincode/smart contracts using Golang on hyperledger network Build and deploy decentralized applications (DApps) Dive into real world blockchain challenges such as integrat...

Descripción completa

Detalles Bibliográficos
Otros Autores: Gaur, Nitin, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham, England : Packt Publishing 2018.
Edición:1st edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630628806719
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credits
  • Packt Upsell
  • Foreword
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Blockchain - Enterprise and Industry Perspective
  • Defining the terms - what is a blockchain?
  • Four core building blocks of blockchain framworks
  • Additional capabilities to consider
  • Fundamentals of the secure transaction processing protocol
  • Where blockchain technology has been and where it's going
  • The great divide
  • An economic model for blockchain delivery
  • Learning as we go
  • The promise of trust and accountability
  • Industries putting blockchain technology to work
  • Blockchain in the enterprise
  • What applications are a good fit?
  • How does the enterprise view blockchain?
  • Litmus testing to justify the application of blockchain technology
  • Integrating a blockchain infrastructure for the whole enterprise
  • Enterprise design principles
  • Business drivers and evolution
  • Ensuring sustainability
  • The principles that drive blockchain adoption
  • Business considerations for choosing a blockchain framework
  • Technology considerations for choosing a blockchain framework
  • Identity management
  • Scalability
  • Enterprise security
  • Development tooling
  • Crypto-economic models
  • Decentralization with systemic governance
  • Enterprise support
  • Use case-driven pluggability choices
  • Shared ledger technology
  • Consensus
  • Crypto algorithms and encryption technology
  • Use case-driven pluggable choices
  • Enterprise integration and designing for extensibility
  • Other considerations
  • Consensus, ACID property, and CAP
  • CAP
  • ACID
  • Attestation - SSCs are signed and encrypted
  • Use of HSMs
  • Summary
  • Chapter 2: Exploring Hyperledger Fabric
  • Building on the foundations of open computing
  • Fundamentals of the Hyperledger project
  • The Linux Foundation
  • Hyperledger.
  • Open source and open standards
  • Hyperledger frameworks, tools, and building blocks
  • Hyperledger frameworks
  • Hyperledger tools
  • The building blocks of blockchain solutions
  • Hyperledger Fabric component design
  • Principles of Hyperledger design
  • CAP Theorem
  • Hyperledger Fabric reference architecture
  • Hyperledger Fabric runtime architecture
  • Strengths and advantages of componentized design
  • Hyperledger Fabric - the journey of a sample transaction
  • Hyperledger Fabric explored
  • Components in a blockchain network
  • Developer interaction
  • Understanding governance in business networks powered by blockchain
  • Governance structure and landscape
  • Information technology governance
  • Blockchain network governance
  • Business network governance
  • Summary
  • Chapter 3: Setting the Stage with a Business Scenario
  • Trading and letter of credit
  • The importance of trust in facilitating trade
  • The letter of credit process today
  • Business scenario and use case
  • Overview
  • Real-world processes
  • Simplified and modified processes
  • Terms used in trade finance and logistics
  • Shared process workflow
  • Shared assets and data
  • Participants' roles and capabilities
  • Benefits of blockchain applications over current real-world processes
  • Setting up the development environment
  • Designing a network
  • Installing prerequisites
  • Forking and cloning the trade-finance-logistics repository
  • Creating and running a network configuration
  • Preparing the network
  • Generating network cryptographic material
  • Generating channel artifacts
  • Generating the configuration in one operation
  • Composing a sample trade network
  • Network components' configuration files
  • Launching a sample trade network
  • Summary
  • Chapter 4: Designing a Data and Transaction Model with Golang
  • Starting the chaincode development.
  • Compiling and running chaincode
  • Installing and instantiating chaincode
  • Invoking chaincode
  • Creating a chaincode
  • The chaincode interface
  • Setting up the chaincode file
  • The Invoke method
  • Access control
  • ABAC
  • Registering a user
  • Enrolling a user
  • Retrieving user identities and attributes in chaincode
  • Implementing chaincode functions
  • Defining chaincode assets
  • Coding chaincode functions
  • Creating an asset
  • Reading and modifying an asset
  • Main function
  • Testing chaincode
  • SHIM mocking
  • Testing the Init method
  • Testing the Invoke method
  • Running tests
  • Chaincode design topics
  • Composite keys
  • Range queries
  • State queries and CouchDB
  • Indexes
  • ReadSet and WriteSet
  • Multiversion concurrency control
  • Logging output
  • Configuration
  • Logging API
  • SHIM logging levels
  • Stdout and stderr
  • Additional SHIM API functions
  • Summary
  • Chapter 5: Exposing Network Assets and Transactions
  • Building a complete application
  • The nature of a Hyperledger Fabric application
  • Application and transaction stages
  • Application model and architecture
  • Building the application
  • Middleware - wrapping and driving the chaincode
  • Installation of tools and dependencies
  • Prerequisites for creating and running the middleware
  • Installation of dependencies
  • Creating and running the middleware
  • Network configuration
  • Endorsement policy
  • User records
  • Client registration and enrollment
  • Creating a channel
  • Joining a channel
  • Installation of chaincode
  • Instantiation of chaincode
  • Invoking the chaincode
  • Querying the chaincode
  • Completing the loop - subscribing to blockchain events
  • Putting it all together
  • User application - exporting the service and API
  • Applications
  • User and session management
  • Designing an API
  • Creating and launching a service.
  • User and session management
  • Network administration
  • Exercising the application
  • User/client interaction modes
  • Testing the Middleware and Application
  • Integration with existing systems and processes
  • Design considerations
  • Decentralization
  • Process alignment
  • Message affinity
  • Service discovery
  • Identity mapping
  • Integration design pattern
  • Enterprise system integration
  • Integrating with an existing system of record
  • Integrating with an operational data store
  • Microservice and event-driven architecture
  • Considering reliability, availability, and serviceability
  • Reliability
  • Availability
  • Serviceability
  • Summary
  • Chapter 6: Business Networks
  • A busy world of purposeful activity
  • Why a language for business networks?
  • Defining business networks
  • A deeper idea
  • Introducing participants
  • Types of participant
  • Individual participants
  • Organizational participants
  • System or device participants
  • Participants are agents
  • Participants and identity
  • Introducing assets
  • Assets flow between participants
  • Tangible and intangible assets
  • The structure of assets
  • Ownership is a special relationship
  • Asset life cycles
  • Describing asset's life cycles in detail with transactions
  • Introducing transactions
  • Change as a fundamental concept
  • Transaction definition and instance
  • Implicit and explicit transactions
  • The importance of contracts
  • Signatures
  • Smart contracts for multi-party transaction processing
  • Digital transaction processing
  • Initiating transactions
  • Transaction history
  • Transaction streams
  • Separating transactions into different business networks
  • Transaction history and asset states
  • A business network as a history of transactions
  • Regulators and business networks.
  • Discussing events from the perspective of designing a business network using Composer
  • A universal concept
  • Messages carry event notifications
  • An example to illustrate event structure
  • Events and transactions
  • External versus explicit events
  • Events cause participants to act
  • Loosely coupled design
  • The utility of events
  • Implementing a business network
  • The importance of de-materialization
  • Blockchain benefits for B2B and EDI
  • Participants that interact with the blockchain
  • Accessing the business network with APIs
  • A 3-tier systems architecture
  • Hyperledger Fabric and Hyperledger Composer
  • Summary
  • Chapter 7: A Business Network Example
  • The letter of credit sample
  • Installing the sample
  • Running the sample
  • Step 1 - preparing to request a letter of credit
  • Step 2 - requesting a letter of credit
  • Step 3 - importing bank approval
  • Step 4 - exporting bank approval
  • Step 5 - letter received by exporter
  • Step 6 - shipment
  • Step 7 - goods received
  • Step 8 - payment
  • Step 9 - closing the letter
  • Step 10 - Bob receives payment
  • Recapping the process
  • Analyzing the letter of credit process
  • The Playground
  • Viewing the business network
  • A description of the business network
  • The participant descriptions
  • The asset descriptions
  • The transaction descriptions
  • The event descriptions
  • A model of the business network
  • Namespaces
  • Enumerations
  • Asset definitions
  • Participant definitions
  • Concept definitions
  • Transaction definitions
  • Event definitions
  • Examining the live network
  • Examining a letter of credit instance
  • Examining participant instances
  • Examining transaction instances
  • Submitting a new transaction to the network
  • Understanding how transactions are implemented
  • Creating business network APIs
  • SWAGGER API definitions.
  • Querying the network using SWAGGER.