Post on 25-Jun-2020
transcript
Blockhead Open Service BrokerJonathan BerkhahnSwetha RepakulaIBM
The Blockhead Open Service Broker
Jonathan Berkhahn: jaberkha@us.ibm.com
Swetha Repakula: srepaku@us.ibm.com
IBM
Blockchain
3
4
geth Ethereum Network
1. Deploy geth, or some type of local ethereum node
user
5
geth Ethereum Network
1. Deploy geth, or some type of local ethereum node
2. Download and sync the network ledger
user
6
geth Ethereum Network
1. Deploy geth, or some type of local ethereum node
2. Download and sync the network ledger
3. Create a user account
user
7
geth Ethereum Network
1. Deploy geth, or some type of local ethereum node
2. Download and sync the network ledger
3. Create a user account4. Write your contract
user Smart Contract
8
geth Ethereum Network
1. Deploy geth, or some type of local ethereum node
2. Download and sync the network ledger
3. Create a user account4. Write your contract5. Compile your contract to create
bytecode
user Smart Contract bytecode
9
geth Ethereum Network
1. Deploy geth, or some type of local ethereum node
2. Download and sync the network ledger
3. Create a user account4. Write your contract5. Compile your contract to create
bytecode6. Download another client to talk
to gethuser
Client
Smart Contract bytecode
10
geth Ethereum Network
1. Deploy geth, or some type of local ethereum node
2. Download and sync the network ledger
3. Create a user account4. Write your contract5. Compile your contract to create
bytecode6. Download another client to talk
to geth7. Learn how to deploy your
bytecode through the clientuser
Client
Smart Contract bytecode
Blockhead
• Server Implementation of the Open Service Broker API• Automatically does most of the heavy lifting for you
11
Open Service Broker API
• App developers want to use blockchain• App devs should focus on writing apps• We want to deliver this functionality in an easy to use way• OSB API
12
Open Service Broker API
• Open standard for the provisioning and management of cloud services in relation to a cloud platform
• Any service that can be decomposed into the OSB workflow can be provisioned as a OSB service
• Once a broker is subscribed to your platform, can be utilized easily be end appl developers
• Current implementations for Cloud Foundry, Kubernetes
13
Blockhead
• Automates the deployment and use of a blockchain node• Currently supports Etherium
• Deploys and syncs an Etherium node• Creates an account on that node• Compiles and applies a smart contract you specify• Returns the Application Binary Interface for your use
• Plan to add support for Hyperledger Fabric
14
Blockhead - 2 Simple Steps
15
1. Create Service2. Bind Service (with contract URL)
Behind the Scenes
16
Service Provisioning
17
Service Broker
Request Service Creation
NodeNodeNodeNode
NodeNodeNodeNodeCloud Platform
AppAppApp
Service Provisioning
18
Service Broker
Request Service Creation
NodeNodeNodeNode
NodeNodeNodeNodeCloud Platform
AppAppApp
Starts a new node
Service Binding
19
Cloud Platform
AppAppApp
Service Broker
NodeNodeNodeNode
NodeNodeNodeNode
Service Binding
20
Request Service Binding
Cloud Platform
AppAppApp
Service Broker
NodeNodeNodeNode
NodeNodeNodeNode
Service Binding
21
Request Service Binding
Cloud Platform
AppAppApp Deploys specified
smart contract
Service Broker
NodeNodeNodeNode
NodeNodeNodeNode
Service Binding
22
Returns credentials,
contract address and
ABI
Cloud Platform
AppAppApp
Service Broker
NodeNodeNodeNode
NodeNodeNodeNode
DEMO
23
References
• OSBAPI : https://github.com/openservicebrokerapi/servicebroker• Bosh Release:
https://github.com/nimakaviani/ethereum-container-broker• Demo App:
https://github.com/swetharepakula/blockhead-broker-demo• Blog Post:
https://hackernoon.com/project-blockhead-an-ethereum-smart-contract-service-broker-for-kubernetes-and-cloud-foundry-88390a3ac63f
24
Any Questions?
25