SlideShare a Scribd company logo
1Page
Introduction to Hyperledger Composer
Simon Stone, Maintainer
@mrsimonstone
2
Blockchain for business
• Blockchain builds on basic business concepts
– Business Networks connect businesses
– Assets flow over business networks
– Transactions describe asset exchange
– Participants submit transactions
– Contracts define the rules for transactions
– The ledger is a log of transactions
• Blockchain provides a shared, replicated ledger
– Consensus, immutability, finality, provenance
3
Blockchain today
• Blockchain platforms, for example Hyperledger Fabric, provide a technical
foundation for transactional applications across business networks:
– Smart contracts (chaincode) are executed on a distributed network
– Inputs go into an immutable ledger; outputs go to a data store (world state)
– Applications are built from the ground up
4
Smart contracts/chaincode today
• Too much boilerplate code, not enough focus on the important business logic.
Business logic
Data validation
Access control
RPC interface
Error handling
5
Hyperledger Composer
• Hyperledger Composer is a framework to accelerate the development of
applications built on top of Blockchain platforms:
– Start from the business level; model network assets, participants, and transactions
– Applications use business centric APIs to invoke transactions that create, delete, and
update assets and transfer them between participants
– Assets, participants, and transactions are recorded in the world state in registries
– Easily integrate Blockchain with existing business processes and systems of record
– Emphasis on quick solution creation and business-centric vocabulary
6
Extensive, familiar, and open development toolset
CLI utilities
Data modelling JavaScript
business logic
Web playground
Editor support Integration
$ composer
Client libraries
composer-client
composer-admin
Code generation
7
Key development concepts
• Model files describe the assets, participants, transactions, and events that exist in
a business network
– Expressive modelling language includes relationships, arrays, and validation rules
– Data serialized as JSON, and is fully validated by the Hyperledger Composer runtime
• Access control lists define rules for sharing and privacy
– Rules are automatically enforced by the Hyperledger Composer runtime
• Transaction processor functions implement additional business requirements
– Standard JavaScript code executed on the Blockchain by the Hyperledger Composer runtime
• A business network definition is the set of the above for a given business network.
8
Model files
Namespaces group related types
Types have a set of properties,
denoted with a leading ”o”
Types can have relationships to other types,
denoted with a leading ”-->”
Specific keywords for defining assets, participants,
transactions, and events in a business network.
Non-abstract types must have an identifying field.
9
Access control lists
Rules are executed in order from top to
bottom. If no rule permits access, then
access is denied.
Rules can contain complex conditions.
Conditions are written in JavaScript,
and can access the participant and
resource.
Each rule permits or denies permission to a
participant to perform an operation on a
resource. Resources are assets,
participants, etc.
10
Transaction processor functions
Transaction processor functions are written in
standard JavaScript (ES5) and they can use
the runtime API to interact with the Blockchain.
Transaction processor functions are atomic; all of
the updates are applied, or no updates are applied.
Annotations in the comments define the transaction
that the function accepts, and that the function is
a transaction processor function.
Interact with the registry APIs to add, update, and
remove assets stored on the Blockchain in the world
state.
Use the event APIs to publish events to external
applications for notifications and triggering
downstream processing.
11
Business network definition
Each business network definition has metadata
associated with it – at least a name and version.
The business network definition contains all of the
model files, access control rules, and transaction
processor functions for a business network.
The metadata is stored in a package.json file.
Each business network definition is a npm module.
Business network definition
Model files
Access control rules
Transaction processor functions
12
Deployment
Business network definitions can be deployed to
a Blockchain platform, for example Hyperledger
Fabric v0.6 or v1.0.
Composer has a runtime which understands,
manages, and executes the business network
definition.
The business network definition is not compiled
or translated into smart contract code, for example
Composer does not convert JavaScript transaction
processor functions into Go code.
Smart Contract
Business network definition
“user” code
Composer runtime
“our” code
The business network definition and Composer
runtime are deployed together as the smart
contract.
13
Execution
Smart Contract
Business network
definition
“user” code
Composer runtime
“our” code
Client Application 1
Client Application 2
Client apps call either the
Composer Node.js client API
or the Composer REST API.
Client apps are submitting
standard Blockchain
transactions and they go
through consensus etc.
Transaction processor functions
are called in the scope of the
Blockchain transaction.
World
State
Blockchain
Platform
Assets, participants, and
other resources are stored
in Blockchain world state
Mike
Arium Logistics
Employee
Debbie
VDA
Regulations
Administrator
Paul
Buyer/Owner
Tommen
Insurer
Vada
Police
Alex
Agency for Vehicle
Standards
B L O C K C H A I N
Tommen
Insurer
Vada
Police
Alex
Agency for Vehicle
Standards
Mike
Arium Logistics
Employee
Debbie
VDA
Regulations
Administrator
Paul
Buyer/Owner
B L O C K C H A I N
Tommen
Insurer
Vada
Police
Alex
Agency for Vehicle
Standards
Mike
Arium Logistics
Employee
Debbie
VDA
Regulations
Administrator
Paul
Buyer/Owner
Mobile
App
B L O C K C H A I N
Tommen
Insurer
Vada
Police
Alex
Agency for Vehicle
Standards
Mike
Arium Logistics
Employee
Debbie
VDA
Regulations
Administrator
Paul
Buyer/Owner
Mobile
App
Enterprise
Integration
Tools
ERP
IoT
B L O C K C H A I N
Tommen
Insurer
Vada
Police
Alex
Agency for Vehicle
Standards
Mike
Arium Logistics
Employee
Debbie
VDA
Regulations
Administrator
Paul
Buyer/Owner
Business
Rules
Analytics
Mobile
App
Enterprise
Integration
Tools
ERP
IoT
B L O C K C H A I N
19
Demo
• {{demo}}
20
Development
• Hyperledger Composer was accepted as an incubator project in March 2017.
• All development plans can be tracked and viewed in GitHub:
– https://github.com/hyperledger/composer/projects
– https://github.com/hyperledger/composer/issues
• We would love for you to come along and participate!
– Review and comment on our future user stories
– Contribute code by submitting pull requests
– Help us build plans for the future
– Weekly calls to review designs, progress, and gather user feedback
• Calls run on an alternating schedule (week A – 4pm UTC, week B – 9am UTC)
21
Future plans
• #543 Complex query: a SQL-like Composer query language for querying
assets and participants on the Blockchain.
– Requires CouchDB support from Hyperledger Fabric v1.0.
• #55 Historian: a new component that records all events that occur in the
business network, including the modifications to assets.
• #898 Links: the ability to share and access data between multiple business
networks, even if they are running on different Blockchain platforms.
22
Links
• We’re all over the internet!
– Hyperledger introduction: https://www.hyperledger.org/projects/composer
– Website, tutorial, and docs: https://hyperledger.github.io/composer/
– Public playground: https://composer-playground.mybluemix.net/
– Source code: https://github.com/hyperledger/composer/
– NPM modules: https://www.npmjs.com/search?q=hyperledger+composer
– JSDoc: https://hyperledger.github.io/composer/jsdoc/index.html
– Docker images: https://hub.docker.com/u/hyperledger/
23
Community
• You can come and speak to us as well!
– Chat to us using Rocket.Chat at https://chat.hyperledger.org
• #composer and #composer-dev channels
– Ask (and answer!) questions on Stack Overflow using the hyperledger-composer tag
– Tweet us using the #Hyperledger #Composer hashtags!
24Page
Thank you!

More Related Content

PPTX
Fabric Composer - Construct 2017
PPTX
Hyperleger Composer Architecure Deep Dive
PPTX
Fabric Composer - London Hyperledger Meetup - March 2017
PPTX
Blockchain development using Hyperledger Composer
PPT
Introduction To Hyperledger Composer
PDF
IBM Bluemix Nice Meetup - 20171120 - Hyperledger Fabric & Composer
PPTX
Hyperledger Composer architecture
PDF
Blockchain Hyperledger Lab
Fabric Composer - Construct 2017
Hyperleger Composer Architecure Deep Dive
Fabric Composer - London Hyperledger Meetup - March 2017
Blockchain development using Hyperledger Composer
Introduction To Hyperledger Composer
IBM Bluemix Nice Meetup - 20171120 - Hyperledger Fabric & Composer
Hyperledger Composer architecture
Blockchain Hyperledger Lab

What's hot (20)

PDF
IBM Blockchain Overview
PPTX
Роман Кравченко “Blockchain-Powered Internet of Things” {R0boCamp}
PPTX
Hyperledger Composer Update 2017-04-05
ODP
Hyperledger Composer
PDF
Introduction to Blockchain and Hyperledger
PDF
Hyperledger Fabric & Composer
PDF
Hyperledger Fabric: A Custom Blockchain Solution for Corporate Use
PPTX
Hyperledger Composer overview - Hyperledger Budapest Meetup
PPTX
Conoscerehyperledger
PDF
Hyperledger Lightning Talk
PDF
Excelian hyperledger fabric-feb17
PPTX
Hyperledger
PPTX
Hyperledger community update February 2018
PDF
Excelian hyperledger walkthrough-feb17
PDF
Introduction of Hyperledger Fabric & Composer
PPTX
IBM Blockchain 101
PDF
Introduction to Blockchain
PDF
Hyperledger fabric 3
PPTX
Hyperledger fabric 20180528
PDF
Hyperledger Fabric Technical Deep Dive 20190618
IBM Blockchain Overview
Роман Кравченко “Blockchain-Powered Internet of Things” {R0boCamp}
Hyperledger Composer Update 2017-04-05
Hyperledger Composer
Introduction to Blockchain and Hyperledger
Hyperledger Fabric & Composer
Hyperledger Fabric: A Custom Blockchain Solution for Corporate Use
Hyperledger Composer overview - Hyperledger Budapest Meetup
Conoscerehyperledger
Hyperledger Lightning Talk
Excelian hyperledger fabric-feb17
Hyperledger
Hyperledger community update February 2018
Excelian hyperledger walkthrough-feb17
Introduction of Hyperledger Fabric & Composer
IBM Blockchain 101
Introduction to Blockchain
Hyperledger fabric 3
Hyperledger fabric 20180528
Hyperledger Fabric Technical Deep Dive 20190618
Ad

Viewers also liked (8)

PPTX
Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
PDF
Edcon - Hardware wallets and smart contracts
PDF
Trading Derivatives on Hyperledger
PPTX
How to Never Leave Your Deployment Unattended
PDF
Smart Contracts: Opportunities and Challenges
PDF
Technical Introduction to Hyperledger Fabric v1.0
PDF
Introduction to Blockchain and the Hyperledger Project
PDF
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Edcon - Hardware wallets and smart contracts
Trading Derivatives on Hyperledger
How to Never Leave Your Deployment Unattended
Smart Contracts: Opportunities and Challenges
Technical Introduction to Hyperledger Fabric v1.0
Introduction to Blockchain and the Hyperledger Project
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Ad

Similar to Introduction to Hyperledger Composer (20)

PDF
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
PDF
Distributed:Health Code Camp Hyperledger
ODP
Hyperledger Fabric and Tools
PPTX
Blockchain workshop IBM CODE Day - Montevideo
PDF
Enterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBM
PDF
Ibm blockchain - Hyperledger 15.02.18
PDF
03 - An introduction to hyperledger composer
PPTX
BlockChain-1.pptx
PPTX
Hyperledger101
PDF
Hyperledger community update 201805
PDF
Hyperledger community update Feb 20, 2018
PDF
Tech Talk - Blockchain presentation
PPTX
Blockchain Technology ,Architecture and its Structure
PDF
Hyperledger Architecture Vol 2 > Smart Contracts
PPTX
Defrag X Keynote: Deploying and managing Global Blockchain Network
PPTX
Defrag x blockchain keynote
PPTX
Block chain fundamentals and hyperledger
PPTX
BlockChain-1.pptx
PPT
Setting up the hyperledger composer in ubuntu
PPTX
Hyperledger community update 20180528
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
Distributed:Health Code Camp Hyperledger
Hyperledger Fabric and Tools
Blockchain workshop IBM CODE Day - Montevideo
Enterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBM
Ibm blockchain - Hyperledger 15.02.18
03 - An introduction to hyperledger composer
BlockChain-1.pptx
Hyperledger101
Hyperledger community update 201805
Hyperledger community update Feb 20, 2018
Tech Talk - Blockchain presentation
Blockchain Technology ,Architecture and its Structure
Hyperledger Architecture Vol 2 > Smart Contracts
Defrag X Keynote: Deploying and managing Global Blockchain Network
Defrag x blockchain keynote
Block chain fundamentals and hyperledger
BlockChain-1.pptx
Setting up the hyperledger composer in ubuntu
Hyperledger community update 20180528

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
MYSQL Presentation for SQL database connectivity
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Machine learning based COVID-19 study performance prediction
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
sap open course for s4hana steps from ECC to s4
20250228 LYD VKU AI Blended-Learning.pptx
MYSQL Presentation for SQL database connectivity
The AUB Centre for AI in Media Proposal.docx
Reach Out and Touch Someone: Haptics and Empathic Computing
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Understanding_Digital_Forensics_Presentation.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
NewMind AI Weekly Chronicles - August'25 Week I
Machine learning based COVID-19 study performance prediction
Encapsulation_ Review paper, used for researhc scholars
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Advanced methodologies resolving dimensionality complications for autism neur...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Diabetes mellitus diagnosis method based random forest with bat algorithm
Per capita expenditure prediction using model stacking based on satellite ima...
sap open course for s4hana steps from ECC to s4

Introduction to Hyperledger Composer

  • 1. 1Page Introduction to Hyperledger Composer Simon Stone, Maintainer @mrsimonstone
  • 2. 2 Blockchain for business • Blockchain builds on basic business concepts – Business Networks connect businesses – Assets flow over business networks – Transactions describe asset exchange – Participants submit transactions – Contracts define the rules for transactions – The ledger is a log of transactions • Blockchain provides a shared, replicated ledger – Consensus, immutability, finality, provenance
  • 3. 3 Blockchain today • Blockchain platforms, for example Hyperledger Fabric, provide a technical foundation for transactional applications across business networks: – Smart contracts (chaincode) are executed on a distributed network – Inputs go into an immutable ledger; outputs go to a data store (world state) – Applications are built from the ground up
  • 4. 4 Smart contracts/chaincode today • Too much boilerplate code, not enough focus on the important business logic. Business logic Data validation Access control RPC interface Error handling
  • 5. 5 Hyperledger Composer • Hyperledger Composer is a framework to accelerate the development of applications built on top of Blockchain platforms: – Start from the business level; model network assets, participants, and transactions – Applications use business centric APIs to invoke transactions that create, delete, and update assets and transfer them between participants – Assets, participants, and transactions are recorded in the world state in registries – Easily integrate Blockchain with existing business processes and systems of record – Emphasis on quick solution creation and business-centric vocabulary
  • 6. 6 Extensive, familiar, and open development toolset CLI utilities Data modelling JavaScript business logic Web playground Editor support Integration $ composer Client libraries composer-client composer-admin Code generation
  • 7. 7 Key development concepts • Model files describe the assets, participants, transactions, and events that exist in a business network – Expressive modelling language includes relationships, arrays, and validation rules – Data serialized as JSON, and is fully validated by the Hyperledger Composer runtime • Access control lists define rules for sharing and privacy – Rules are automatically enforced by the Hyperledger Composer runtime • Transaction processor functions implement additional business requirements – Standard JavaScript code executed on the Blockchain by the Hyperledger Composer runtime • A business network definition is the set of the above for a given business network.
  • 8. 8 Model files Namespaces group related types Types have a set of properties, denoted with a leading ”o” Types can have relationships to other types, denoted with a leading ”-->” Specific keywords for defining assets, participants, transactions, and events in a business network. Non-abstract types must have an identifying field.
  • 9. 9 Access control lists Rules are executed in order from top to bottom. If no rule permits access, then access is denied. Rules can contain complex conditions. Conditions are written in JavaScript, and can access the participant and resource. Each rule permits or denies permission to a participant to perform an operation on a resource. Resources are assets, participants, etc.
  • 10. 10 Transaction processor functions Transaction processor functions are written in standard JavaScript (ES5) and they can use the runtime API to interact with the Blockchain. Transaction processor functions are atomic; all of the updates are applied, or no updates are applied. Annotations in the comments define the transaction that the function accepts, and that the function is a transaction processor function. Interact with the registry APIs to add, update, and remove assets stored on the Blockchain in the world state. Use the event APIs to publish events to external applications for notifications and triggering downstream processing.
  • 11. 11 Business network definition Each business network definition has metadata associated with it – at least a name and version. The business network definition contains all of the model files, access control rules, and transaction processor functions for a business network. The metadata is stored in a package.json file. Each business network definition is a npm module. Business network definition Model files Access control rules Transaction processor functions
  • 12. 12 Deployment Business network definitions can be deployed to a Blockchain platform, for example Hyperledger Fabric v0.6 or v1.0. Composer has a runtime which understands, manages, and executes the business network definition. The business network definition is not compiled or translated into smart contract code, for example Composer does not convert JavaScript transaction processor functions into Go code. Smart Contract Business network definition “user” code Composer runtime “our” code The business network definition and Composer runtime are deployed together as the smart contract.
  • 13. 13 Execution Smart Contract Business network definition “user” code Composer runtime “our” code Client Application 1 Client Application 2 Client apps call either the Composer Node.js client API or the Composer REST API. Client apps are submitting standard Blockchain transactions and they go through consensus etc. Transaction processor functions are called in the scope of the Blockchain transaction. World State Blockchain Platform Assets, participants, and other resources are stored in Blockchain world state
  • 15. Tommen Insurer Vada Police Alex Agency for Vehicle Standards Mike Arium Logistics Employee Debbie VDA Regulations Administrator Paul Buyer/Owner B L O C K C H A I N
  • 16. Tommen Insurer Vada Police Alex Agency for Vehicle Standards Mike Arium Logistics Employee Debbie VDA Regulations Administrator Paul Buyer/Owner Mobile App B L O C K C H A I N
  • 17. Tommen Insurer Vada Police Alex Agency for Vehicle Standards Mike Arium Logistics Employee Debbie VDA Regulations Administrator Paul Buyer/Owner Mobile App Enterprise Integration Tools ERP IoT B L O C K C H A I N
  • 18. Tommen Insurer Vada Police Alex Agency for Vehicle Standards Mike Arium Logistics Employee Debbie VDA Regulations Administrator Paul Buyer/Owner Business Rules Analytics Mobile App Enterprise Integration Tools ERP IoT B L O C K C H A I N
  • 20. 20 Development • Hyperledger Composer was accepted as an incubator project in March 2017. • All development plans can be tracked and viewed in GitHub: – https://github.com/hyperledger/composer/projects – https://github.com/hyperledger/composer/issues • We would love for you to come along and participate! – Review and comment on our future user stories – Contribute code by submitting pull requests – Help us build plans for the future – Weekly calls to review designs, progress, and gather user feedback • Calls run on an alternating schedule (week A – 4pm UTC, week B – 9am UTC)
  • 21. 21 Future plans • #543 Complex query: a SQL-like Composer query language for querying assets and participants on the Blockchain. – Requires CouchDB support from Hyperledger Fabric v1.0. • #55 Historian: a new component that records all events that occur in the business network, including the modifications to assets. • #898 Links: the ability to share and access data between multiple business networks, even if they are running on different Blockchain platforms.
  • 22. 22 Links • We’re all over the internet! – Hyperledger introduction: https://www.hyperledger.org/projects/composer – Website, tutorial, and docs: https://hyperledger.github.io/composer/ – Public playground: https://composer-playground.mybluemix.net/ – Source code: https://github.com/hyperledger/composer/ – NPM modules: https://www.npmjs.com/search?q=hyperledger+composer – JSDoc: https://hyperledger.github.io/composer/jsdoc/index.html – Docker images: https://hub.docker.com/u/hyperledger/
  • 23. 23 Community • You can come and speak to us as well! – Chat to us using Rocket.Chat at https://chat.hyperledger.org • #composer and #composer-dev channels – Ask (and answer!) questions on Stack Overflow using the hyperledger-composer tag – Tweet us using the #Hyperledger #Composer hashtags!

Editor's Notes

  • #2: This presentation assumes that the audience has seen Blockchain Explained (https://ibm.box.com/v/BlockchainExplained)
  • #15: So the business network in this scenario is based on an individual purchasing a car. We’re going to start you off as Paul, who’s an aspiring Arium Motors customer, on his phone. (hand over phone) Today he’s placing an order, which takes place on his phone
  • #16: So the business network in this scenario is based on an individual purchasing a car. We’re going to start you off as Paul, who’s an aspiring Arium Motors customer, on his phone. (hand over phone) Today he’s placing an order, which takes place on his phone
  • #17: So the business network in this scenario is based on an individual purchasing a car. We’re going to start you off as Paul, who’s an aspiring Arium Motors customer, on his phone. (hand over phone) Today he’s placing an order, which takes place on his phone
  • #18: So the business network in this scenario is based on an individual purchasing a car. We’re going to start you off as Paul, who’s an aspiring Arium Motors customer, on his phone. (hand over phone) Today he’s placing an order, which takes place on his phone
  • #19: So the business network in this scenario is based on an individual purchasing a car. We’re going to start you off as Paul, who’s an aspiring Arium Motors customer, on his phone. (hand over phone) Today he’s placing an order, which takes place on his phone