SlideShare a Scribd company logo
1 of 24
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

What's hot

Роман Кравченко “Blockchain-Powered Internet of Things” {R0boCamp}
Роман Кравченко “Blockchain-Powered Internet of Things” {R0boCamp} Роман Кравченко “Blockchain-Powered Internet of Things” {R0boCamp}
Роман Кравченко “Blockchain-Powered Internet of Things” {R0boCamp} Lviv Startup Club
 
Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05Dan Selman
 
Hyperledger Composer
Hyperledger ComposerHyperledger Composer
Hyperledger ComposerRihusoft
 
Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerDev_Events
 
Hyperledger Fabric & Composer
Hyperledger Fabric & Composer Hyperledger Fabric & Composer
Hyperledger Fabric & Composer Dr. Ketan Parmar
 
Hyperledger Fabric: A Custom Blockchain Solution for Corporate Use
Hyperledger Fabric: A Custom Blockchain Solution for Corporate UseHyperledger Fabric: A Custom Blockchain Solution for Corporate Use
Hyperledger Fabric: A Custom Blockchain Solution for Corporate UseRobert Tochman-Szewc
 
Hyperledger Composer overview - Hyperledger Budapest Meetup
Hyperledger Composer overview - Hyperledger Budapest MeetupHyperledger Composer overview - Hyperledger Budapest Meetup
Hyperledger Composer overview - Hyperledger Budapest MeetupImre Kocsis
 
Hyperledger Lightning Talk
Hyperledger Lightning TalkHyperledger Lightning Talk
Hyperledger Lightning TalkAndrew Kennedy
 
Hyperledger community update February 2018
Hyperledger  community update   February 2018Hyperledger  community update   February 2018
Hyperledger community update February 2018Christopher Ferris
 
Introduction of Hyperledger Fabric & Composer
Introduction of Hyperledger Fabric & Composer Introduction of Hyperledger Fabric & Composer
Introduction of Hyperledger Fabric & Composer Dr. Ketan Parmar
 
Hyperledger fabric 20180528
Hyperledger fabric 20180528Hyperledger fabric 20180528
Hyperledger fabric 20180528Arnaud Le Hors
 
Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Arnaud Le Hors
 

What's hot (20)

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

Viewers also liked

Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain ApplicationsGluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain ApplicationsDuncan Johnston-Watt
 
Edcon - Hardware wallets and smart contracts
Edcon -  Hardware wallets and smart contractsEdcon -  Hardware wallets and smart contracts
Edcon - Hardware wallets and smart contractsEric Larcheveque
 
Trading Derivatives on Hyperledger
Trading Derivatives on HyperledgerTrading Derivatives on Hyperledger
Trading Derivatives on HyperledgerLF Events
 
How to Never Leave Your Deployment Unattended
How to Never Leave Your Deployment UnattendedHow to Never Leave Your Deployment Unattended
How to Never Leave Your Deployment UnattendedAltoros
 
Smart Contracts: Opportunities and Challenges
Smart Contracts: Opportunities and ChallengesSmart Contracts: Opportunities and Challenges
Smart Contracts: Opportunities and ChallengesCasey Kuhlman
 
Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Altoros
 
Introduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger ProjectIntroduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger ProjectManuel Garcia
 
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...Romeo Kienzler
 

Viewers also liked (9)

Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain ApplicationsGluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
 
Edcon - Hardware wallets and smart contracts
Edcon -  Hardware wallets and smart contractsEdcon -  Hardware wallets and smart contracts
Edcon - Hardware wallets and smart contracts
 
Trading Derivatives on Hyperledger
Trading Derivatives on HyperledgerTrading Derivatives on Hyperledger
Trading Derivatives on Hyperledger
 
How to Never Leave Your Deployment Unattended
How to Never Leave Your Deployment UnattendedHow to Never Leave Your Deployment Unattended
How to Never Leave Your Deployment Unattended
 
Smart Contracts: Opportunities and Challenges
Smart Contracts: Opportunities and ChallengesSmart Contracts: Opportunities and Challenges
Smart Contracts: Opportunities and Challenges
 
Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0
 
Code is not law
Code is not lawCode is not law
Code is not law
 
Introduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger ProjectIntroduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger Project
 
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
 

Similar to Introduction to Hyperledger Composer

IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger WorkshopIBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger WorkshopIBM France Lab
 
IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0Matt Lucas
 
Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18TelecomValley
 
Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203
Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203
Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203Arnaud Le Hors
 
Hyperledger Fabric and Tools
Hyperledger Fabric and ToolsHyperledger Fabric and Tools
Hyperledger Fabric and ToolsRihusoft
 
Oracle Blockchain Experience Day
Oracle Blockchain Experience DayOracle Blockchain Experience Day
Oracle Blockchain Experience DayJuarez Junior
 
03 - An introduction to hyperledger composer
03 - An introduction to hyperledger composer03 - An introduction to hyperledger composer
03 - An introduction to hyperledger composerMerlec Mpyana
 
Blockchain explored
Blockchain explored Blockchain explored
Blockchain explored IBM Sverige
 
Blockchain explained cata
Blockchain explained   cataBlockchain explained   cata
Blockchain explained cataMogul Marketing
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4LennartF
 
Modeling Blockchain Applications v1.02
Modeling Blockchain Applications v1.02Modeling Blockchain Applications v1.02
Modeling Blockchain Applications v1.02Matt Lucas
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introductionLennartF
 
How to Build a Decentralized Blockchain App with the Oracle Blockchain Platform
How to Build a Decentralized BlockchainApp with the Oracle Blockchain PlatformHow to Build a Decentralized BlockchainApp with the Oracle Blockchain Platform
How to Build a Decentralized Blockchain App with the Oracle Blockchain PlatformJuarez Junior
 
Blockchain, Hyperledger and the Oracle Blockchain Platform
Blockchain, Hyperledger and the Oracle Blockchain PlatformBlockchain, Hyperledger and the Oracle Blockchain Platform
Blockchain, Hyperledger and the Oracle Blockchain PlatformJuarez Junior
 
Dejan Podgorsek - Is Hyperledger Fabric secure enough for your Business?
Dejan Podgorsek - Is Hyperledger Fabric secure enough for your Business?Dejan Podgorsek - Is Hyperledger Fabric secure enough for your Business?
Dejan Podgorsek - Is Hyperledger Fabric secure enough for your Business?Hacken_Ecosystem
 
Blockchain solution architecture deliverable
Blockchain solution architecture deliverableBlockchain solution architecture deliverable
Blockchain solution architecture deliverableSarmad Ibrahim
 
Blockchain architected
Blockchain architectedBlockchain architected
Blockchain architectedIBM Sverige
 
Blockchain Tech Approach Whitepaper
Blockchain Tech Approach WhitepaperBlockchain Tech Approach Whitepaper
Blockchain Tech Approach WhitepaperProperty Bihar
 
hyperledger-chaincode & hyperl fabric.pptx
hyperledger-chaincode & hyperl fabric.pptxhyperledger-chaincode & hyperl fabric.pptx
hyperledger-chaincode & hyperl fabric.pptxdeepaksingh160910
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook Diego Alberto Tamayo
 

Similar to Introduction to Hyperledger Composer (20)

IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger WorkshopIBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
 
IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0
 
Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18
 
Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203
Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203
Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203
 
Hyperledger Fabric and Tools
Hyperledger Fabric and ToolsHyperledger Fabric and Tools
Hyperledger Fabric and Tools
 
Oracle Blockchain Experience Day
Oracle Blockchain Experience DayOracle Blockchain Experience Day
Oracle Blockchain Experience Day
 
03 - An introduction to hyperledger composer
03 - An introduction to hyperledger composer03 - An introduction to hyperledger composer
03 - An introduction to hyperledger composer
 
Blockchain explored
Blockchain explored Blockchain explored
Blockchain explored
 
Blockchain explained cata
Blockchain explained   cataBlockchain explained   cata
Blockchain explained cata
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
 
Modeling Blockchain Applications v1.02
Modeling Blockchain Applications v1.02Modeling Blockchain Applications v1.02
Modeling Blockchain Applications v1.02
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introduction
 
How to Build a Decentralized Blockchain App with the Oracle Blockchain Platform
How to Build a Decentralized BlockchainApp with the Oracle Blockchain PlatformHow to Build a Decentralized BlockchainApp with the Oracle Blockchain Platform
How to Build a Decentralized Blockchain App with the Oracle Blockchain Platform
 
Blockchain, Hyperledger and the Oracle Blockchain Platform
Blockchain, Hyperledger and the Oracle Blockchain PlatformBlockchain, Hyperledger and the Oracle Blockchain Platform
Blockchain, Hyperledger and the Oracle Blockchain Platform
 
Dejan Podgorsek - Is Hyperledger Fabric secure enough for your Business?
Dejan Podgorsek - Is Hyperledger Fabric secure enough for your Business?Dejan Podgorsek - Is Hyperledger Fabric secure enough for your Business?
Dejan Podgorsek - Is Hyperledger Fabric secure enough for your Business?
 
Blockchain solution architecture deliverable
Blockchain solution architecture deliverableBlockchain solution architecture deliverable
Blockchain solution architecture deliverable
 
Blockchain architected
Blockchain architectedBlockchain architected
Blockchain architected
 
Blockchain Tech Approach Whitepaper
Blockchain Tech Approach WhitepaperBlockchain Tech Approach Whitepaper
Blockchain Tech Approach Whitepaper
 
hyperledger-chaincode & hyperl fabric.pptx
hyperledger-chaincode & hyperl fabric.pptxhyperledger-chaincode & hyperl fabric.pptx
hyperledger-chaincode & hyperl fabric.pptx
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook
 

Recently uploaded

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Recently uploaded (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

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

  1. This presentation assumes that the audience has seen Blockchain Explained (https://ibm.box.com/v/BlockchainExplained)
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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