SlideShare a Scribd company logo
1 of 68
Download to read offline
@horeaporutiu IBM Developer
Horea Porutiu
Developer Advocate, IBM
October 2018
Developing Applications with
Hyperledger Fabric SDK
Agenda
1. Hyperledger Fabric v.
Composer
2. Approaches for
Development
3. Hyperledger Fabric SDK
overview
4. IBM’s BaaS (blockchain-
as-a-service) Demo
5. Use Case
IBM Developer@horeaporutiu
@pluralsight
Hyperledger Fabric
IBM Developer@horeaporutiu https://www.pinterest.com/pin/215469163401716164/
Hyperledger Fabric v. Composer
• Original project
@horeaporutiu IBM Developerhttps://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric
• Learn Fabric SDK -
Node.js, Java
• Original project
@horeaporutiu IBM Developerhttps://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric
Hyperledger Fabric v. Composer
• Learn Fabric SDK -
Node.js, Java
• Original project
@horeaporutiu IBM Developer
• Uses channels to
divide communication
between participants
https://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric
Hyperledger Fabric v. Composer
• Learn Fabric SDK -
Node.js, Java
• Original project
@horeaporutiu IBM Developer
• Uses channels to
divide communication
between participants
https://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric
•Status: active
Hyperledger Fabric v. Composer
• Learn Fabric SDK -
Node.js, Java
• Original project • Tool for using Fabric
@horeaporutiu IBM Developer
• Uses channels to
divide communication
between participants
https://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric
•Status: active
Hyperledger Fabric v. Composer
• Learn Fabric SDK -
Node.js, Java
• Original project
• Easy to generate
REST API
• Tool for using Fabric
@horeaporutiu IBM Developer
• Uses channels to
divide communication
between participants
https://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric
•Status: active
Hyperledger Fabric v. Composer
• Learn Fabric SDK -
Node.js, Java
• Original project
• Easy to generate
REST API
• Tool for using Fabric
@horeaporutiu IBM Developer
• Uses channels to
divide communication
between participants
https://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric
•Status: active
• Learn Composer
modeling language
Hyperledger Fabric v. Composer
• Learn Fabric SDK -
Node.js, Java
• Original project
• Easy to generate
REST API
• Tool for using Fabric
@horeaporutiu IBM Developer
• Uses channels to
divide communication
between participants
https://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric
•Status: active
• Learn Composer
modeling language
• Test your contracts in
a sandbox, online
Hyperledger Fabric v. Composer
• Learn Fabric SDK -
Node.js, Java
• Original project
• Easy to generate
REST API
• Tool for using Fabric
@horeaporutiu IBM Developer
• Uses channels to
divide communication
between participants
https://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric
•Status: active
• Learn Composer
modeling language
• Test your contracts in
a sandbox, online
•Status: incubation
Hyperledger Fabric v. Composer
Approaches for development
@horeaporutiu IBM Developer
Cloud
• Run docker
containers (peer,
orderer, certificate
authority, couchDb)
Local
Approaches for development
@horeaporutiu IBM Developer
Cloud
• Run docker
containers (peer,
orderer, certificate
authority, couchDb)
Local
• Inviting other orgs,
viewing blocks is hard
Approaches for development
@horeaporutiu IBM Developer
Cloud
• Run docker
containers (peer,
orderer, certificate
authority, couchDb)
• Network setup is
done for you
Local
• Inviting other orgs,
viewing blocks is hard
Approaches for development
@horeaporutiu IBM Developer
Cloud
• Run docker
containers (peer,
orderer, certificate
authority, couchDb)
• Network setup is
done for you
Local
• Nice interface to view
all blocks
• Inviting other orgs,
viewing blocks is hard
Approaches for development
@horeaporutiu IBM Developer
Cloud
• Run docker
containers (peer,
orderer, certificate
authority, couchDb)
• Network setup is
done for you
Local
• Nice interface to view
all blocks
• Easy to invite other
organizations to the
network
• Inviting other orgs,
viewing blocks is hard
Our approach
@horeaporutiu IBM Developer
Cloud - via the IBM
Blockchain Platform
@horeaporutiu IBM Developer
How do you get started?
@horeaporutiu IBM Developer
• Intro to Hyperledger Node SDK code pattern -
https://github.com/IBM/car-auction-network-
fabric-node-sdk
• Step by step guide on how to connect local
Node.js app to IBM Blockchain Platform
Actors in Hyperledger
@horeaporutiu IBM Developer
•Michael Scott,
a.k.a. the peer
node. The peer,
(M. Scott) runs
the show
(chaincode). The
manager of The
Office.
http://mtncatholic.com/2016/10/06/no-joke-dante-puts-michael-scott-hell/
• Toby, a.k.a the
CA(Certificate
Authority). The
CA hands out
certificates to
members of the
network. The
H.R. of The
Office - hands
out offer letters.
http://theoffice.wikia.com/wiki/Toby_Flenderson https://www.dailybreak.com/break/chilis-lifts-ban-on-pam-beesly
• Pam, a.k.a. the
orderer
broadcasts
messages to
peers. As the
receptionist in the
office, she relays
messages to other
employees.
Hyperledger Fabric SDK Overview
IBM Developer@horeaporutiu
Blockchain
network - 1 org
Certificate Authority
Orderer
Peer
(Local)
Node.js app +
Fabric SDK
Node.js app +
Fabric SDK
IBM Developer@horeaporutiu
Blockchain
network - 1 org
Certificate Authority
Orderer
Peer
(Local)
1. Enrollment - Register
admin with Certificate Auth
Hyperledger Fabric SDK Overview
Chaincode
Database
Blockchain
network - 1 org
Certificate AuthorityCertificate Authority
Orderer
Peer
Chaincode
Database
1.
Enrollment
IBM Developer@horeaporutiu
• Enrollment - process of generating keys and
certificates from the Certificate Authority
Enrollment
IBM Developer@horeaporutiu
• First generate certificate for our admin identity
and use those to register a new client identity
• Enrollment - process of generating keys and
certificates from the Certificate Authority
Hyperledger Fabric SDK - Enrollment
Node.js app +
Fabric SDK
IBM Developer@horeaporutiu
Blockchain
network - 1 org
Certificate Authority
(Local)
1.
1. Enrollment - Register
admin with Certificate Auth
Certificate Authority
Orderer
Peer
Chaincode
Database
Node.js app +
Fabric SDK
IBM Developer@horeaporutiu
Blockchain
network - 1 org
Certificate Authority
Orderer
(Local)
1. Enrollment - Register
admin with Certificate Auth
2. Register users
🔑
Hyperledger Fabric SDK - Enrollment
Peer
Chaincode
Database
Blockchain
network - 1 org
Certificate Authority
Orderer
Peer
Chaincode
Database
Blockchain
network - 1 org
Certificate AuthorityCertificate Authority
Orderer
Peer
Chaincode
Database
2.
1.
Hyperledger Fabric SDK - Transaction
Node.js app +
Fabric SDK
IBM Developer@horeaporutiu
Blockchain
network - 1 org
Certificate Authority
Orderer
(Local)
1. Enrollment - Register
admin with Certificate Auth
2. Register users
3. Send transaction to peer
🔑
Peer
Chaincode
Database
Blockchain
network - 1 org
Certificate Authority
Orderer
Peer
Chaincode
Database
Blockchain
network - 1 org
Certificate AuthorityCertificate Authority
Orderer
Peer
Chaincode
Database
3.
2.
1.
Using Fabric SDK - Invoking Chaincode 1/2
IBM Developer@horeaporutiu
Node.js app +
Fabric SDK
(Local)
3. Send transaction
proposal to peer
var request = {
chaincodeId: ‘carauction’, //name of chaincode to execute
fcn: ‘initLedger’, // which chaincode function to execute
args: [‘’], //array of args for chaincode function
txId: fabric_client.newTransactionID(); //assign new txn id
}
🔑
Peer
Chaincode
Database
3.
Using Fabric SDK - Invoking Chaincode 1/2
IBM Developer@horeaporutiu
var request = {
chaincodeId: ‘carauction’, //name of chaincode to execute
fcn: ‘initLedger’, // which chaincode function to execute
args: [‘’], //array of args for chaincode function
txId: fabric_client.newTransactionID(); //assign new txn id
}
var channel = fabric_client.newChannel(‘defaultchannel’);
return channel.sentTransactionProposal(request);
var fabric_client = require(‘fabric-client);
Using Fabric SDK - Invoking Chaincode 1/2
IBM Developer@horeaporutiu
Node.js app +
Fabric SDK
(Local)
3. Send transaction
proposal to peer🔑
Peer
Chaincode
Database
3.
• Check endorsement policy - which peers need to
endorse transaction
Using Fabric SDK - Invoking Chaincode 1/2
IBM Developer@horeaporutiu
Node.js app +
Fabric SDK
(Local)
3. Send transaction
proposal to peer🔑
Peer
Chaincode
Database
3.
• Check endorsement policy - which peers need to
endorse transaction
• The transaction proposal will go to the peers in the
endorsement policy
Using Fabric SDK - Writing to the ledger
IBM Developer@horeaporutiu
let member = {
member.balance = 5000; //set balance of member’s account
member.firstName = ‘Amy’; //set first name of member
member.lastName = ‘Williams’; //set last name of member
member.email = ‘amyWilliams@email.com’; //set email
}
await stub.putState(‘amyWilliams@email.com’,
Buffer.from(JSON.stringify(member)));
• putState takes a key value pair, and writes to the ledger
Node.js app +
Fabric SDK
IBM Developer@horeaporutiu
Blockchain
network - 1 org
Certificate Authority
Orderer
Peer
(Local)
1.
1. Enrollment - Register
admin with Certificate Auth
2. Register application
2.
3. Send (txn)transaction to peer
4. Peers return endorsed txn
Using Fabric SDK - Invoking Chaincode
🔑
Peer
Chaincode
Database
4.
3.
Using Fabric SDK - Reading from the ledger
IBM Developer@horeaporutiu
await stub.getState(‘amyWilliams@email.com’);
• getState reads the member object from the ledger.
Note, this does not create a block on the network.
• This will return:
{
balance: ‘5000’;
firstName: ’Amy’;
lastName: ‘Williams’;
email: ‘amyWilliams@email.com’;
}
Using Fabric SDK - Invoking Chaincode 2/2
IBM Developer@horeaporutiu
Node.js app +
Fabric SDK
Peer
(Local)
4. Peers return endorsed
transaction
4.
• Check transaction proposal has not been submitted in
the past and is well formed
🔑
Using Fabric SDK - Invoking Chaincode 2/2
IBM Developer@horeaporutiu
Node.js app +
Fabric SDK
Peer
(Local)
4. Peers return endorsed
transaction
4.
• Check transaction proposal has not been submitted in
the past and is well formed
• Check that signature is valid
🔑
Using Fabric SDK - Invoking Chaincode 2/2
IBM Developer@horeaporutiu
Node.js app +
Fabric SDK
Peer
(Local)
4. Peers return endorsed
transaction
4.
• Check transaction proposal has not been submitted in
the past and is well formed
• Check that signature is valid
• Take args from chaincode function, and execute function
🔑
Using Fabric SDK - Invoking Chaincode 2/2
IBM Developer@horeaporutiu
Node.js app +
Fabric SDK
Peer
(Local)
4. Peers return endorsed
transaction
4.
• Check transaction proposal has not been submitted in
the past and is well formed
• Check that signature is valid
• Take args from chaincode function, and execute function
• Transaction results + enduring peer signature is sent
back to SDK
🔑
Node.js app +
Fabric SDK
IBM Developer@horeaporutiu
Blockchain
network - 1 org
Certificate Authority
Orderer
Peer
(Local)
1.
1. Enrollment - Register
admin with Certificate Auth
2. Register application
2.
3. Send (txn)transaction to peer
4. Peers return endorsed txn
Using Fabric SDK - Invoking Chaincode
🔑
Peer
Chaincode
Database
4.
3.
5. App sends endorsed txn to ordering service to add to ledger
5.
Using Fabric SDK - Ordering Service
IBM Developer@horeaporutiu
Node.js app +
Fabric SDK
Orderer
(Local)
5. App sends endorsed txn to
ordering service to add to ledger
• App ‘broadcasts’ transaction proposal and response to
the ordering service
5.
🔑
Using Fabric SDK - Ordering Service
IBM Developer@horeaporutiu
Node.js app +
Fabric SDK
Orderer
(Local)
5. App sends endorsed txn to
ordering service to add to ledger
• App ‘broadcasts’ transaction proposal and response to
the ordering service
5.
• Order chronologically and create blocks
🔑
Using Fabric SDK - Ordering Service
IBM Developer@horeaporutiu
Node.js app +
Fabric SDK
Orderer
(Local)
5. App sends endorsed txn to
ordering service to add to ledger
• App ‘broadcasts’ transaction proposal and response to
the ordering service
5.
• Order chronologically and create blocks
• Order transactions from all channels - order
chronologically by channel and create blocks
🔑
Ledger Updated
IBM Developer@horeaporutiu
• Each peer appends block to the channel’s chain,
•For each valid transaction the write sets are committed to
current state database
• Client is notified that transaction has been immutably
appended to the chain
Demo
IBM Developer@horeaporutiu
Problem
IBM Developer@horeaporutiu
1 in 10 people fall ill
every year from eating
contaminated food -
World Health
Organization
Use Case - IBM Food Trust
IBM Developer@horeaporutiu
• One of the first solutions in-production using blockchain
IBM Developer@horeaporutiu
• One of the first solutions in-production using blockchain
• Smarter, safer, more sustainable food supply chain
Use Case - IBM Food Trust
IBM Developer@horeaporutiu
• One of the first solutions in-production using blockchain
• Smarter, safer, more sustainable food supply chain
• Built on open-source framework - Hyperledger Fabric
Use Case - IBM Food Trust
IBM Developer@horeaporutiu
• One of the first solutions in-production using blockchain
• Smarter, safer, more sustainable food supply chain
• Built on open-source framework - Hyperledger Fabric
• How to join: register your organization with the network
Use Case - IBM Food Trust
IBM Developer@horeaporutiu
• One of the first solutions in-production using blockchain
• Smarter, safer, more sustainable food supply chain
• Built on open-source framework - Hyperledger Fabric
• How to join: register your organization with the network
• Solution: Trace - allows user to search the origin of a
product by product name, Purchase Order or GTIN
(Global Trade Item Number)
Use Case - IBM Food Trust
IBM Developer@horeaporutiu
• One of the first solutions in-production using blockchain
• Smarter, safer, more sustainable food supply chain
• Built on open-source framework - Hyperledger Fabric
• How to join: register your organization with the network
• Solution: Trace - allows user to search the origin of a
product by product name, Purchase Order or GTIN
(Global Trade Item Number)
• Solution: Certificate Manager - upload regulation and
inspection documents (fair-trade, organic, etc.)
Use Case - IBM Food Trust
@horeaporutiu IBM Developer
@horeaporutiu IBM Developer
What if we find out
that all products
from Grandma’s
Farm are
contaminated?
Food Contamination - Grandma’s Farm
IBM Developer@horeaporutiu https://tenor.com/view/michael-scott-no-nogod-please-gif-5739001
@horeaporutiu IBM Developer
@horeaporutiu IBM Developer
Hopefully you will feel like this after
IBM Developer@horeaporutiu https://www.pinterest.com/pin/427630927097492361
IBM Blockchain Starter Plan
IBM Developer@horeaporutiu
•http://goo.gl/i9WZcH
• Need either business or student
email address, gmail wont work
• Takes a few business days to
process, please be patient
Code Patterns
• Hello world Hyperledger Fabric Car Auction -
https://github.com/IBM/car-auction-network-
fabric-node-sdk
@horeaporutiu IBM Code
• Blockchain Bean UI - https://www.ibm.com/
thought-leadership/blockchainbean/index.html
• Blockchain Bean Code -https://github.com/IBM/
blockchainbean
Contact
• Questions: horea.porutiu@ibm.com
• Social: Tweets @horeaporutiu
• Site: https://horeaporutiu.github.io/
• Medium: https://medium.com/@horeaporutiu
@horeaporutiu IBM Developer
@horeaporutiu IBM Developer
Questions?
http://www.freeiconspng.com/img/5437
@horeaporutiu IBM Developer
@horeaporutiu IBM Developer
@horeaporutiu IBM Developer
@horeaporutiu IBM Developer
@horeaporutiu IBM Developer
IBM Blockchain Platform UI
IBM Developer@horeaporutiu

More Related Content

What's hot

Blockchain Smart Contract v5
Blockchain   Smart Contract v5Blockchain   Smart Contract v5
Blockchain Smart Contract v5MD SAQUIB KHAN
 
Hyperledger Fabric in a Nutshell
Hyperledger Fabric in a NutshellHyperledger Fabric in a Nutshell
Hyperledger Fabric in a NutshellDaniel Chan
 
Hyperledger fabric architecture
Hyperledger fabric architectureHyperledger fabric architecture
Hyperledger fabric architectureCeline George
 
Hyperledger Overview - 20181024
Hyperledger Overview - 20181024Hyperledger Overview - 20181024
Hyperledger Overview - 20181024Arnaud Le Hors
 
Introduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart ContractsIntroduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart ContractsTechracers
 
Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618Arnaud Le Hors
 
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...Edureka!
 
Smart Contract & Ethereum
Smart Contract & EthereumSmart Contract & Ethereum
Smart Contract & EthereumAkshay Singh
 
OAuth & OpenID Connect Deep Dive
OAuth & OpenID Connect Deep DiveOAuth & OpenID Connect Deep Dive
OAuth & OpenID Connect Deep DiveNordic APIs
 
HyperLedger Fabric V2.5.pdf
HyperLedger Fabric V2.5.pdfHyperLedger Fabric V2.5.pdf
HyperLedger Fabric V2.5.pdfwonyong hwang
 
Hyperledger Indy tutorial
Hyperledger Indy tutorialHyperledger Indy tutorial
Hyperledger Indy tutorialssuser3993f3
 
OAuth2 - Introduction
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - IntroductionKnoldus Inc.
 
OAuth - Open API Authentication
OAuth - Open API AuthenticationOAuth - Open API Authentication
OAuth - Open API Authenticationleahculver
 
Blockchain Explained
Blockchain ExplainedBlockchain Explained
Blockchain ExplainedVikram Khanna
 
Blockchain
BlockchainBlockchain
BlockchainSai Nath
 
Blockchain and Smart Contracts (Series: Blockchain Basics)
Blockchain and Smart Contracts (Series: Blockchain Basics)Blockchain and Smart Contracts (Series: Blockchain Basics)
Blockchain and Smart Contracts (Series: Blockchain Basics)Financial Poise
 
Basics of Blockchain Technology
Basics of Blockchain TechnologyBasics of Blockchain Technology
Basics of Blockchain TechnologyNasir Bhutta
 

What's hot (20)

Blockchain Smart Contract v5
Blockchain   Smart Contract v5Blockchain   Smart Contract v5
Blockchain Smart Contract v5
 
Hyperledger Fabric in a Nutshell
Hyperledger Fabric in a NutshellHyperledger Fabric in a Nutshell
Hyperledger Fabric in a Nutshell
 
Hyperledger fabric architecture
Hyperledger fabric architectureHyperledger fabric architecture
Hyperledger fabric architecture
 
Hyperledger Overview - 20181024
Hyperledger Overview - 20181024Hyperledger Overview - 20181024
Hyperledger Overview - 20181024
 
Introduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart ContractsIntroduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart Contracts
 
Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618
 
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
 
Smart contract
Smart contractSmart contract
Smart contract
 
Smart Contract & Ethereum
Smart Contract & EthereumSmart Contract & Ethereum
Smart Contract & Ethereum
 
OAuth & OpenID Connect Deep Dive
OAuth & OpenID Connect Deep DiveOAuth & OpenID Connect Deep Dive
OAuth & OpenID Connect Deep Dive
 
HyperLedger Fabric V2.5.pdf
HyperLedger Fabric V2.5.pdfHyperLedger Fabric V2.5.pdf
HyperLedger Fabric V2.5.pdf
 
Hyperledger Indy tutorial
Hyperledger Indy tutorialHyperledger Indy tutorial
Hyperledger Indy tutorial
 
OAuth2 - Introduction
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - Introduction
 
Blockchain concepts
Blockchain conceptsBlockchain concepts
Blockchain concepts
 
OAuth 2.0
OAuth 2.0OAuth 2.0
OAuth 2.0
 
OAuth - Open API Authentication
OAuth - Open API AuthenticationOAuth - Open API Authentication
OAuth - Open API Authentication
 
Blockchain Explained
Blockchain ExplainedBlockchain Explained
Blockchain Explained
 
Blockchain
BlockchainBlockchain
Blockchain
 
Blockchain and Smart Contracts (Series: Blockchain Basics)
Blockchain and Smart Contracts (Series: Blockchain Basics)Blockchain and Smart Contracts (Series: Blockchain Basics)
Blockchain and Smart Contracts (Series: Blockchain Basics)
 
Basics of Blockchain Technology
Basics of Blockchain TechnologyBasics of Blockchain Technology
Basics of Blockchain Technology
 

Similar to Developing applications with Hyperledger Fabric SDK

Ethereum Smart Contracts on Hyperledger Fabric
Ethereum Smart Contracts on Hyperledger Fabric Ethereum Smart Contracts on Hyperledger Fabric
Ethereum Smart Contracts on Hyperledger Fabric Horea Porutiu
 
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발 [Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발 Yunho Maeng
 
Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerDev_Events
 
Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Mandi Walls
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewForgeRock
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDocker, Inc.
 
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024Cloud Native NoVA
 
DevOPS training - Day 2/2
DevOPS training - Day 2/2DevOPS training - Day 2/2
DevOPS training - Day 2/2Vincent Mercier
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at ScaleOracle Developers
 
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
 
Hyperledger community update February 2018
Hyperledger  community update   February 2018Hyperledger  community update   February 2018
Hyperledger community update February 2018Christopher Ferris
 
Rapid Prototyping Chatter with a PHP/Hack Canvas App on Heroku
Rapid Prototyping Chatter with a PHP/Hack Canvas App on HerokuRapid Prototyping Chatter with a PHP/Hack Canvas App on Heroku
Rapid Prototyping Chatter with a PHP/Hack Canvas App on HerokuSalesforce Developers
 
Custom Tile Generation in PCF
Custom Tile Generation in PCFCustom Tile Generation in PCF
Custom Tile Generation in PCFVMware Tanzu
 
Gocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous DeploymentGocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous DeploymentLeandro Totino Pereira
 
Hyperledger Fabric and Tools
Hyperledger Fabric and ToolsHyperledger Fabric and Tools
Hyperledger Fabric and ToolsRihusoft
 
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...Agile Testing Alliance
 
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE
 
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the ProxyCloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the ProxyMaki Toshio
 
Docker Containers for Continuous Delivery
Docker Containers for Continuous DeliveryDocker Containers for Continuous Delivery
Docker Containers for Continuous DeliverySynerzip
 

Similar to Developing applications with Hyperledger Fabric SDK (20)

Ethereum Smart Contracts on Hyperledger Fabric
Ethereum Smart Contracts on Hyperledger Fabric Ethereum Smart Contracts on Hyperledger Fabric
Ethereum Smart Contracts on Hyperledger Fabric
 
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발 [Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
 
Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and Hyperledger
 
Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - Overview
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
 
DevOPS training - Day 2/2
DevOPS training - Day 2/2DevOPS training - Day 2/2
DevOPS training - Day 2/2
 
How to debug IoT Agents
How to debug IoT AgentsHow to debug IoT Agents
How to debug IoT Agents
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
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
 
Hyperledger community update February 2018
Hyperledger  community update   February 2018Hyperledger  community update   February 2018
Hyperledger community update February 2018
 
Rapid Prototyping Chatter with a PHP/Hack Canvas App on Heroku
Rapid Prototyping Chatter with a PHP/Hack Canvas App on HerokuRapid Prototyping Chatter with a PHP/Hack Canvas App on Heroku
Rapid Prototyping Chatter with a PHP/Hack Canvas App on Heroku
 
Custom Tile Generation in PCF
Custom Tile Generation in PCFCustom Tile Generation in PCF
Custom Tile Generation in PCF
 
Gocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous DeploymentGocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous Deployment
 
Hyperledger Fabric and Tools
Hyperledger Fabric and ToolsHyperledger Fabric and Tools
Hyperledger Fabric and Tools
 
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...
 
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT Agents
 
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the ProxyCloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
 
Docker Containers for Continuous Delivery
Docker Containers for Continuous DeliveryDocker Containers for Continuous Delivery
Docker Containers for Continuous Delivery
 

More from Horea Porutiu

Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & CodeDeploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & CodeHorea Porutiu
 
Using Blockchain to Increase Supply Chain Transparency
Using Blockchain to Increase Supply Chain TransparencyUsing Blockchain to Increase Supply Chain Transparency
Using Blockchain to Increase Supply Chain TransparencyHorea Porutiu
 
Hyperleger Fabric Workshop - Denver Blockchain Week
Hyperleger Fabric Workshop - Denver Blockchain WeekHyperleger Fabric Workshop - Denver Blockchain Week
Hyperleger Fabric Workshop - Denver Blockchain WeekHorea Porutiu
 
Getting up and running with Hyperledger Fabric & Composer (Full Stack)
Getting up and running with Hyperledger Fabric & Composer (Full Stack)Getting up and running with Hyperledger Fabric & Composer (Full Stack)
Getting up and running with Hyperledger Fabric & Composer (Full Stack)Horea Porutiu
 
First steps with Bitcoin
First steps with BitcoinFirst steps with Bitcoin
First steps with BitcoinHorea Porutiu
 
Blockchain workshop IBM CODE Day - Montevideo
Blockchain workshop IBM CODE Day - MontevideoBlockchain workshop IBM CODE Day - Montevideo
Blockchain workshop IBM CODE Day - MontevideoHorea Porutiu
 
First Steps with Blockchains
First Steps with BlockchainsFirst Steps with Blockchains
First Steps with BlockchainsHorea Porutiu
 
First Steps with Blockchain
First Steps with BlockchainFirst Steps with Blockchain
First Steps with BlockchainHorea Porutiu
 

More from Horea Porutiu (8)

Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & CodeDeploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
 
Using Blockchain to Increase Supply Chain Transparency
Using Blockchain to Increase Supply Chain TransparencyUsing Blockchain to Increase Supply Chain Transparency
Using Blockchain to Increase Supply Chain Transparency
 
Hyperleger Fabric Workshop - Denver Blockchain Week
Hyperleger Fabric Workshop - Denver Blockchain WeekHyperleger Fabric Workshop - Denver Blockchain Week
Hyperleger Fabric Workshop - Denver Blockchain Week
 
Getting up and running with Hyperledger Fabric & Composer (Full Stack)
Getting up and running with Hyperledger Fabric & Composer (Full Stack)Getting up and running with Hyperledger Fabric & Composer (Full Stack)
Getting up and running with Hyperledger Fabric & Composer (Full Stack)
 
First steps with Bitcoin
First steps with BitcoinFirst steps with Bitcoin
First steps with Bitcoin
 
Blockchain workshop IBM CODE Day - Montevideo
Blockchain workshop IBM CODE Day - MontevideoBlockchain workshop IBM CODE Day - Montevideo
Blockchain workshop IBM CODE Day - Montevideo
 
First Steps with Blockchains
First Steps with BlockchainsFirst Steps with Blockchains
First Steps with Blockchains
 
First Steps with Blockchain
First Steps with BlockchainFirst Steps with Blockchain
First Steps with Blockchain
 

Recently uploaded

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 

Developing applications with Hyperledger Fabric SDK

  • 1. @horeaporutiu IBM Developer Horea Porutiu Developer Advocate, IBM October 2018 Developing Applications with Hyperledger Fabric SDK
  • 2. Agenda 1. Hyperledger Fabric v. Composer 2. Approaches for Development 3. Hyperledger Fabric SDK overview 4. IBM’s BaaS (blockchain- as-a-service) Demo 5. Use Case IBM Developer@horeaporutiu @pluralsight
  • 3. Hyperledger Fabric IBM Developer@horeaporutiu https://www.pinterest.com/pin/215469163401716164/
  • 4. Hyperledger Fabric v. Composer • Original project @horeaporutiu IBM Developerhttps://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric
  • 5. • Learn Fabric SDK - Node.js, Java • Original project @horeaporutiu IBM Developerhttps://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric Hyperledger Fabric v. Composer
  • 6. • Learn Fabric SDK - Node.js, Java • Original project @horeaporutiu IBM Developer • Uses channels to divide communication between participants https://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric Hyperledger Fabric v. Composer
  • 7. • Learn Fabric SDK - Node.js, Java • Original project @horeaporutiu IBM Developer • Uses channels to divide communication between participants https://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric •Status: active Hyperledger Fabric v. Composer
  • 8. • Learn Fabric SDK - Node.js, Java • Original project • Tool for using Fabric @horeaporutiu IBM Developer • Uses channels to divide communication between participants https://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric •Status: active Hyperledger Fabric v. Composer
  • 9. • Learn Fabric SDK - Node.js, Java • Original project • Easy to generate REST API • Tool for using Fabric @horeaporutiu IBM Developer • Uses channels to divide communication between participants https://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric •Status: active Hyperledger Fabric v. Composer
  • 10. • Learn Fabric SDK - Node.js, Java • Original project • Easy to generate REST API • Tool for using Fabric @horeaporutiu IBM Developer • Uses channels to divide communication between participants https://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric •Status: active • Learn Composer modeling language Hyperledger Fabric v. Composer
  • 11. • Learn Fabric SDK - Node.js, Java • Original project • Easy to generate REST API • Tool for using Fabric @horeaporutiu IBM Developer • Uses channels to divide communication between participants https://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric •Status: active • Learn Composer modeling language • Test your contracts in a sandbox, online Hyperledger Fabric v. Composer
  • 12. • Learn Fabric SDK - Node.js, Java • Original project • Easy to generate REST API • Tool for using Fabric @horeaporutiu IBM Developer • Uses channels to divide communication between participants https://www.hyperledger.org/projects/composerhttps://www.hyperledger.org/projects/fabric •Status: active • Learn Composer modeling language • Test your contracts in a sandbox, online •Status: incubation Hyperledger Fabric v. Composer
  • 13. Approaches for development @horeaporutiu IBM Developer Cloud • Run docker containers (peer, orderer, certificate authority, couchDb) Local
  • 14. Approaches for development @horeaporutiu IBM Developer Cloud • Run docker containers (peer, orderer, certificate authority, couchDb) Local • Inviting other orgs, viewing blocks is hard
  • 15. Approaches for development @horeaporutiu IBM Developer Cloud • Run docker containers (peer, orderer, certificate authority, couchDb) • Network setup is done for you Local • Inviting other orgs, viewing blocks is hard
  • 16. Approaches for development @horeaporutiu IBM Developer Cloud • Run docker containers (peer, orderer, certificate authority, couchDb) • Network setup is done for you Local • Nice interface to view all blocks • Inviting other orgs, viewing blocks is hard
  • 17. Approaches for development @horeaporutiu IBM Developer Cloud • Run docker containers (peer, orderer, certificate authority, couchDb) • Network setup is done for you Local • Nice interface to view all blocks • Easy to invite other organizations to the network • Inviting other orgs, viewing blocks is hard
  • 18. Our approach @horeaporutiu IBM Developer Cloud - via the IBM Blockchain Platform
  • 20. How do you get started? @horeaporutiu IBM Developer • Intro to Hyperledger Node SDK code pattern - https://github.com/IBM/car-auction-network- fabric-node-sdk • Step by step guide on how to connect local Node.js app to IBM Blockchain Platform
  • 21. Actors in Hyperledger @horeaporutiu IBM Developer •Michael Scott, a.k.a. the peer node. The peer, (M. Scott) runs the show (chaincode). The manager of The Office. http://mtncatholic.com/2016/10/06/no-joke-dante-puts-michael-scott-hell/ • Toby, a.k.a the CA(Certificate Authority). The CA hands out certificates to members of the network. The H.R. of The Office - hands out offer letters. http://theoffice.wikia.com/wiki/Toby_Flenderson https://www.dailybreak.com/break/chilis-lifts-ban-on-pam-beesly • Pam, a.k.a. the orderer broadcasts messages to peers. As the receptionist in the office, she relays messages to other employees.
  • 22. Hyperledger Fabric SDK Overview IBM Developer@horeaporutiu Blockchain network - 1 org Certificate Authority Orderer Peer (Local) Node.js app + Fabric SDK
  • 23. Node.js app + Fabric SDK IBM Developer@horeaporutiu Blockchain network - 1 org Certificate Authority Orderer Peer (Local) 1. Enrollment - Register admin with Certificate Auth Hyperledger Fabric SDK Overview Chaincode Database Blockchain network - 1 org Certificate AuthorityCertificate Authority Orderer Peer Chaincode Database 1.
  • 24. Enrollment IBM Developer@horeaporutiu • Enrollment - process of generating keys and certificates from the Certificate Authority
  • 25. Enrollment IBM Developer@horeaporutiu • First generate certificate for our admin identity and use those to register a new client identity • Enrollment - process of generating keys and certificates from the Certificate Authority
  • 26. Hyperledger Fabric SDK - Enrollment Node.js app + Fabric SDK IBM Developer@horeaporutiu Blockchain network - 1 org Certificate Authority (Local) 1. 1. Enrollment - Register admin with Certificate Auth Certificate Authority Orderer Peer Chaincode Database
  • 27. Node.js app + Fabric SDK IBM Developer@horeaporutiu Blockchain network - 1 org Certificate Authority Orderer (Local) 1. Enrollment - Register admin with Certificate Auth 2. Register users 🔑 Hyperledger Fabric SDK - Enrollment Peer Chaincode Database Blockchain network - 1 org Certificate Authority Orderer Peer Chaincode Database Blockchain network - 1 org Certificate AuthorityCertificate Authority Orderer Peer Chaincode Database 2. 1.
  • 28. Hyperledger Fabric SDK - Transaction Node.js app + Fabric SDK IBM Developer@horeaporutiu Blockchain network - 1 org Certificate Authority Orderer (Local) 1. Enrollment - Register admin with Certificate Auth 2. Register users 3. Send transaction to peer 🔑 Peer Chaincode Database Blockchain network - 1 org Certificate Authority Orderer Peer Chaincode Database Blockchain network - 1 org Certificate AuthorityCertificate Authority Orderer Peer Chaincode Database 3. 2. 1.
  • 29. Using Fabric SDK - Invoking Chaincode 1/2 IBM Developer@horeaporutiu Node.js app + Fabric SDK (Local) 3. Send transaction proposal to peer var request = { chaincodeId: ‘carauction’, //name of chaincode to execute fcn: ‘initLedger’, // which chaincode function to execute args: [‘’], //array of args for chaincode function txId: fabric_client.newTransactionID(); //assign new txn id } 🔑 Peer Chaincode Database 3.
  • 30. Using Fabric SDK - Invoking Chaincode 1/2 IBM Developer@horeaporutiu var request = { chaincodeId: ‘carauction’, //name of chaincode to execute fcn: ‘initLedger’, // which chaincode function to execute args: [‘’], //array of args for chaincode function txId: fabric_client.newTransactionID(); //assign new txn id } var channel = fabric_client.newChannel(‘defaultchannel’); return channel.sentTransactionProposal(request); var fabric_client = require(‘fabric-client);
  • 31. Using Fabric SDK - Invoking Chaincode 1/2 IBM Developer@horeaporutiu Node.js app + Fabric SDK (Local) 3. Send transaction proposal to peer🔑 Peer Chaincode Database 3. • Check endorsement policy - which peers need to endorse transaction
  • 32. Using Fabric SDK - Invoking Chaincode 1/2 IBM Developer@horeaporutiu Node.js app + Fabric SDK (Local) 3. Send transaction proposal to peer🔑 Peer Chaincode Database 3. • Check endorsement policy - which peers need to endorse transaction • The transaction proposal will go to the peers in the endorsement policy
  • 33. Using Fabric SDK - Writing to the ledger IBM Developer@horeaporutiu let member = { member.balance = 5000; //set balance of member’s account member.firstName = ‘Amy’; //set first name of member member.lastName = ‘Williams’; //set last name of member member.email = ‘amyWilliams@email.com’; //set email } await stub.putState(‘amyWilliams@email.com’, Buffer.from(JSON.stringify(member))); • putState takes a key value pair, and writes to the ledger
  • 34. Node.js app + Fabric SDK IBM Developer@horeaporutiu Blockchain network - 1 org Certificate Authority Orderer Peer (Local) 1. 1. Enrollment - Register admin with Certificate Auth 2. Register application 2. 3. Send (txn)transaction to peer 4. Peers return endorsed txn Using Fabric SDK - Invoking Chaincode 🔑 Peer Chaincode Database 4. 3.
  • 35. Using Fabric SDK - Reading from the ledger IBM Developer@horeaporutiu await stub.getState(‘amyWilliams@email.com’); • getState reads the member object from the ledger. Note, this does not create a block on the network. • This will return: { balance: ‘5000’; firstName: ’Amy’; lastName: ‘Williams’; email: ‘amyWilliams@email.com’; }
  • 36. Using Fabric SDK - Invoking Chaincode 2/2 IBM Developer@horeaporutiu Node.js app + Fabric SDK Peer (Local) 4. Peers return endorsed transaction 4. • Check transaction proposal has not been submitted in the past and is well formed 🔑
  • 37. Using Fabric SDK - Invoking Chaincode 2/2 IBM Developer@horeaporutiu Node.js app + Fabric SDK Peer (Local) 4. Peers return endorsed transaction 4. • Check transaction proposal has not been submitted in the past and is well formed • Check that signature is valid 🔑
  • 38. Using Fabric SDK - Invoking Chaincode 2/2 IBM Developer@horeaporutiu Node.js app + Fabric SDK Peer (Local) 4. Peers return endorsed transaction 4. • Check transaction proposal has not been submitted in the past and is well formed • Check that signature is valid • Take args from chaincode function, and execute function 🔑
  • 39. Using Fabric SDK - Invoking Chaincode 2/2 IBM Developer@horeaporutiu Node.js app + Fabric SDK Peer (Local) 4. Peers return endorsed transaction 4. • Check transaction proposal has not been submitted in the past and is well formed • Check that signature is valid • Take args from chaincode function, and execute function • Transaction results + enduring peer signature is sent back to SDK 🔑
  • 40. Node.js app + Fabric SDK IBM Developer@horeaporutiu Blockchain network - 1 org Certificate Authority Orderer Peer (Local) 1. 1. Enrollment - Register admin with Certificate Auth 2. Register application 2. 3. Send (txn)transaction to peer 4. Peers return endorsed txn Using Fabric SDK - Invoking Chaincode 🔑 Peer Chaincode Database 4. 3. 5. App sends endorsed txn to ordering service to add to ledger 5.
  • 41. Using Fabric SDK - Ordering Service IBM Developer@horeaporutiu Node.js app + Fabric SDK Orderer (Local) 5. App sends endorsed txn to ordering service to add to ledger • App ‘broadcasts’ transaction proposal and response to the ordering service 5. 🔑
  • 42. Using Fabric SDK - Ordering Service IBM Developer@horeaporutiu Node.js app + Fabric SDK Orderer (Local) 5. App sends endorsed txn to ordering service to add to ledger • App ‘broadcasts’ transaction proposal and response to the ordering service 5. • Order chronologically and create blocks 🔑
  • 43. Using Fabric SDK - Ordering Service IBM Developer@horeaporutiu Node.js app + Fabric SDK Orderer (Local) 5. App sends endorsed txn to ordering service to add to ledger • App ‘broadcasts’ transaction proposal and response to the ordering service 5. • Order chronologically and create blocks • Order transactions from all channels - order chronologically by channel and create blocks 🔑
  • 44. Ledger Updated IBM Developer@horeaporutiu • Each peer appends block to the channel’s chain, •For each valid transaction the write sets are committed to current state database • Client is notified that transaction has been immutably appended to the chain
  • 46. Problem IBM Developer@horeaporutiu 1 in 10 people fall ill every year from eating contaminated food - World Health Organization
  • 47. Use Case - IBM Food Trust IBM Developer@horeaporutiu • One of the first solutions in-production using blockchain
  • 48. IBM Developer@horeaporutiu • One of the first solutions in-production using blockchain • Smarter, safer, more sustainable food supply chain Use Case - IBM Food Trust
  • 49. IBM Developer@horeaporutiu • One of the first solutions in-production using blockchain • Smarter, safer, more sustainable food supply chain • Built on open-source framework - Hyperledger Fabric Use Case - IBM Food Trust
  • 50. IBM Developer@horeaporutiu • One of the first solutions in-production using blockchain • Smarter, safer, more sustainable food supply chain • Built on open-source framework - Hyperledger Fabric • How to join: register your organization with the network Use Case - IBM Food Trust
  • 51. IBM Developer@horeaporutiu • One of the first solutions in-production using blockchain • Smarter, safer, more sustainable food supply chain • Built on open-source framework - Hyperledger Fabric • How to join: register your organization with the network • Solution: Trace - allows user to search the origin of a product by product name, Purchase Order or GTIN (Global Trade Item Number) Use Case - IBM Food Trust
  • 52. IBM Developer@horeaporutiu • One of the first solutions in-production using blockchain • Smarter, safer, more sustainable food supply chain • Built on open-source framework - Hyperledger Fabric • How to join: register your organization with the network • Solution: Trace - allows user to search the origin of a product by product name, Purchase Order or GTIN (Global Trade Item Number) • Solution: Certificate Manager - upload regulation and inspection documents (fair-trade, organic, etc.) Use Case - IBM Food Trust
  • 54. @horeaporutiu IBM Developer What if we find out that all products from Grandma’s Farm are contaminated?
  • 55. Food Contamination - Grandma’s Farm IBM Developer@horeaporutiu https://tenor.com/view/michael-scott-no-nogod-please-gif-5739001
  • 58. Hopefully you will feel like this after IBM Developer@horeaporutiu https://www.pinterest.com/pin/427630927097492361
  • 59. IBM Blockchain Starter Plan IBM Developer@horeaporutiu •http://goo.gl/i9WZcH • Need either business or student email address, gmail wont work • Takes a few business days to process, please be patient
  • 60. Code Patterns • Hello world Hyperledger Fabric Car Auction - https://github.com/IBM/car-auction-network- fabric-node-sdk @horeaporutiu IBM Code • Blockchain Bean UI - https://www.ibm.com/ thought-leadership/blockchainbean/index.html • Blockchain Bean Code -https://github.com/IBM/ blockchainbean
  • 61. Contact • Questions: horea.porutiu@ibm.com • Social: Tweets @horeaporutiu • Site: https://horeaporutiu.github.io/ • Medium: https://medium.com/@horeaporutiu @horeaporutiu IBM Developer
  • 68. IBM Blockchain Platform UI IBM Developer@horeaporutiu