SlideShare a Scribd company logo
1 of 38
Download to read offline
Anderson Weber Bassani | IBM
Lab Exercise: IBM Blockchain runs also on
LinuxONE, see it in action!
Anderson W. Bassani
abassani@br.ibm.com
Introduction:
This laboratory covers a Blockchain implementation running on an IBM LinuxONE
Server. Second, you will learn how to deploy a Hyperledger Fabric using Dockers
Containers.
Exercises Guide
2
Exercise instructions
In this exercise you will complete the following tasks:
__ 1. First, watch a Blockchain Implementation running on IBM LinuxONE
__ a. What is Blockchain and why to run on IBM LinuxONE
__ b. Blockchain Terminology
__ c. Architecture
__ d. Demonstration
__ 2. Second, create your own Linux on z virtual server and deploy a Hyperledger Fabric
__ a. Sign up for a LinuxONE Community Cloud trial account
__ b. Log on, create a SSH key pair, and deploy a virtual server instance
__ c. Setup PuTTY to use a private key
__ d. Access the virtual server with Secure Shell (SSH)
__ e. Build the Hyperledger Fabric
__ f. Create a four-peer network
__ g. Deploy the example smart contract application
Anderson Weber Bassani | IBM
Task 1
__ 3. First, watch a Blockchain Implementation running on IBM LinuxONE
__ a. What is Blockchain and why to run on IBM LinuxONE
Blockchain Terminology:
 Business Networks
 Transfer of assets within a Business Network
 Assets – tangible, intangible, and digital
 Transaction on this context
 Shared Business Ledgers
 The Database versus The Ledger – similar to systems of records
 Consensus Algorithms, Consensus problem
 Byzantine Generals problem, Cryptography
 IBM’s Point of View – Open Source, Open Standard, Open Governance
 Hyperledger Project – like Linux, Java, OpenStack
 IBM’s Engagement – Conversations, Demonstrations, POT’s, POC’s
Image: Blockchain on z Systems use case for Trade Finance/Logistics
Watch the full demonstration at:
https://www.youtube.com/watch?v=EqZr4LPQIWk
Exercises Guide
4
Image: A Business Network example
Image: The integration with existing Business Process
Anderson Weber Bassani | IBM
Image: Hyperledger fabric architecture (see reference 18)
Exercises Guide
6
Image: Blockchain on z advantages
Anderson Weber Bassani | IBM
Task 2
__ 4. Second, create your own Linux on z virtual server and deploy a Hyperledger Fabric
__ a. Sign up for a LinuxONE Community Cloud trial account
Important: On this Laboratory, you now can skip to Step 7: Build the Hyperledger Fabric
on page 25.
The instructor already created one Linux server and a private key for each group.
Ask the instructor your Group Number, from 01 to 12.
Besides that fact, the IBM LinuxONE Community Cloud is available on the internet, so you
can reproduce all the steps on your company or at home!
Step 1: Registration
If you have not done so already, register at
http://www.ibm.com/linuxone/try
for a 120-day trial account. You will receive an email containing credentials to access the
LinuxONE Community Cloud self-service portal. This is where you can start exploring all
our available services.
Image: The email with the credentials to access the LinuxONE Cloud
Exercises Guide
8
Step 2: Log on to the self-service portal
The portal URL and account credentials can be found in the email sent from
“LinuxONE Community Cloud” with subject “Registration successful”.
__ 1. Click on URL
__ 2. Type in your account name and password.
__ 2. Click on Sign in. The LinuxONE Community Cloud initial screen will open.
Anderson Weber Bassani | IBM
Step 3: Create an SSH key pair
Virtual server instances require SSH key pairs for user authentication. Password is
disabled for SSH. You must create one or import an existing public key to be used for
instance deployment.
__ 1. At the home page, click on your account name to display a list of options.
Exercises Guide
10
__ 2. Select Manage SSH Key Pairs.
__ 3. To import an existing SSH public key:
__ a. Click on Import
__ b. Provide a name for this key
__ c. Click on Browse to select a file from your local file system
__ d. Click on Upload your public key
__ 4. To create a new SSH key pair:
__ a. Click on Create
__ b. Provide a name for this key. The instructor already created one key pair for each
group. The key name is blockchainXX, where XX is the group number from 01 to 12.
Anderson Weber Bassani | IBM
Image: the Key Name for the first group
__ c. Click on Create a new key pair
__ d. Save the generated key. In this example, save the blockchain01.pem private key.
Note: Take care in storing this private key. There is no way to retrieve this key once it has been
saved.
Exercises Guide
12
Step 4: Deploy a Virtual Server Instance
__ 1. Click Home to go back to the home page
__ 2. Click on Manage Instances from the Virtual Servers tile.
__ 3. Click on Create.
__ 4. Fill in all required information:
__ a. On Step 1 Session: Enter Instance Details, fill the Instance name and
Instance description of your server. Pay attention on Instance Description field, only
English characters are allowed.
__ b. On Step 2: Select an Image, select RHEL 7.2 image where we will create the
Hyperledger Fabric afterwards.
__ c. On Step 3: Select a Flavor, click LinuxONE-Medium. The option will be
highlighted.
Anderson Weber Bassani | IBM
__ d. Select an SSH key. If you have not created or imported a key yet, click on
Create / Import (Refer to Step 3: Create an SSH key pair) before continuing. In the image
below, the blockchain01 key was selected.
__ 4. Create the instance.
__ a. Verify your selection. The Current Selection field present a summary of the
options selected.
__ b. Make any changes if necessary
__ c. Click on Create.
__ d. Wait until your instance be deployed.
Exercises Guide
14
Image: The Instances screen and status information.
When the instance deployment is complete, the server status will become “Active”.
You can click on View details to display additional information about this instance.
Image: The Instance Status after a successful deployment
Image: View details
Anderson Weber Bassani | IBM
Step 5: Access virtual server with Secure Shell (SSH)
Login for the root user is disabled. You must log in with the “linux1” user. This
user has full sudo privilege.
Linux and Mac OS X Users: Follow the instructions below if your workstation have these
operating systems installed
__ 1. Make sure your key has a file permission of 600. Run this command to change it if
necessary:
chmod 600 <yourkey>.pem
__ 2. Run this command from a terminal to connect to your deployed instance.
Exercises Guide
16
ssh -i <yourkey>.pem linux1@<instance IP address>
Where:
<yourkey>.pem is the key you created / imported earlier in Step 3: Create an SSH
key pair.
<instance IP address> is the IP address assigned to your deployed instance.
Windows Users: Follow the instructions below if your workstation have Windows installed
__ 1. You have to use an SSH client. A popular and free SSH client is PuTTY. You can
download PuTTY from this website: http://www.putty.org/ .
__ 2. Set up PuTTY on Windows to use SSH private key.
__ a. Download PuTTYgen from this website
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
__ b. Save the puttygen.exe (183 KB) binary file
__ c. Double click to execute the PUTTYGEN program. Click Run.
Anderson Weber Bassani | IBM
__ d. The PuTTY Key Generator initial screen will open
Exercises Guide
18
__ e. Let’s protect the private key. Click File > Load private key
__ f. Select the folded that contains your private key, select All Files (the PuTTY try to
locate PuTTY Private Key Files with extension .ppk). Select the blockchainXX.pem private
key. Click Open.
Anderson Weber Bassani | IBM
__ g. Click OK button to acknowledge the successful notice
__ h. Enter a key passphrase and confirm it.
Important: The key passphrase that was used for all the Groups = stu2016
Exercises Guide
20
__ i. Click Save private key. Each Group have one blockchainXX.ppk private key, so no one is
able to connect on a different virtual machine.
Note: the protected private key file (.ppk) just created is needed by PuTTY.
__ j. Let’s now set up the PuTTY with the protected private key already created. Start
PuTTY.
Anderson Weber Bassani | IBM
__ k. Select Connection->SSH->Auth and Click Browse to select the protected private key file
(.ppk)
Exercises Guide
22
__ l. Select Connection->Data and enter linux1 in the Auto-login username textbox
Anderson Weber Bassani | IBM
__ m. Select Session and enter the IP address for your image in the Host Name textbox. On the
Saved Session, insert your Group name (blockchainXX). Click Save.
Exercises Guide
24
__ n. Click Open and acknowledge the Security Alert by clicking Yes.
Anderson Weber Bassani | IBM
__ o. Enter the passphrase for the protected private key.
Hint: The passphrase is stu2016
__ p. Welcome to Bash! You will receive the Welcome to LinuxONE Community Cloud!
Screen.
Step 6: Manage your virtual server instance
You can use the self-service portal to:
1. Create an instance
2. Stop an instance
3. Start an instance
4. Delete an instance
Important: Read the important information below about your virtual server instance
1. The root user login is disabled.
2. You must log in with the user “linux1” with your SSH private key.
Exercises Guide
26
3. The “linux1” user has full sudo privilege.
4. There is a 42 GB user disk mounted at /data.
5. Firewall is enabled. Only the SSH port is open. Modify the firewall rules if you need
other ports opened.
6. Your server will be shut off if it is inactive for more than 7 days. You can start it using
the self-service portal.
Note: About your LinuxONE Community Cloud account
1. Your LinuxONE Community cloud trial allows you to deploy one (1) virtual server. You
may delete this server and deploy another instance using other images in the catalog.
2. Your server will be deleted and trial account will be cancelled if your server is shut off
for more than 30 days.
3. You must abide to these terms of use (https://developer.ibm.com/linuxone/terms-of-
use/) which you have agreed during registration. Any misuse will result in immediate
revoke of access to the cloud.
Anderson Weber Bassani | IBM
Step 7: Build the Hyperledger Fabric (estimate time = 11 minutes)
__ 1. Log on to your virtual server with the ‘linux1’ user.
ssh -i <ssh key> linux1@<server IP address>
Or use an SSH client like PuTTY
Table: Hostname and IP Addresses
Hostname IP Address
blockchain01 148.100.5.105
blockchain02 148.100.5.118
blockchain03 148.100.5.154
blockchain04 148.100.5.155
blockchain05 148.100.5.127
blockchain06 148.100.5.132
blockchain07 148.100.5.159
blockchain08 148.100.5.160
blockchain09 148.100.5.142
blockchain10 148.100.5.144
blockchain11 148.100.5.161
blockchain12 148.100.5.153
__ 2. Switch to root user.
Exercises Guide
28
sudo -i
__ 3. Create a new directory under /data.
mkdir /data/docker
__ 4. Create a symbolic link to the /data/docker directory.
ln -s /data/docker /var/lib/docker
__ 5. Switch to the /root directory.
cd /root
__ 6. Get the hyperledger fabric build script and save it to a file.
wget
https://raw.githubusercontent.com/harrijk/docs/master/z
SystemsFabricBuild.sh
__ 7. Run the script to build the hyperledger fabric.
. zSystemsFabricBuild.sh
__ 8. The script will print the following message to the screen when complete:
Cleanup Docker artifacts
5060467d937a
eb2dfef3e4cc
957156e7b57f
9eab3b31a85f
fbc0388343ff
Anderson Weber Bassani | IBM
brunswickheads/openchain-peer latest
dc53061bd3e5 6 months ago 1.256 GB
Untagged: brunswickheads/openchain-peer:latest
*** DONE ***
The Hyperledger Fabric and its supporting components
have been successfully installed.
Exercises Guide
30
Step 8: Create a four-peer network (estimate time = 5 minutes)
__ 1. The build process returned your session to the linux1 user. Switch to root user.
sudo -i
__ 2. Switch to the following directory.
cd $GOPATH/src/github.com/hyperledger/fabric/build/bin
__ 3. Use Docker Compose to define four peers in the chain and set up the containers.
Get the docker-compose.yml file using the following command:
wget
https://raw.githubusercontent.com/cheeye/blockchain/mas
ter/docker-compose.yml
The docker-compose.yml file contains the following configuration:
[root@blockchainXX]# cat docker-compose.yml
vp0:
image: hyperledger/fabric-peer
environment:
- CORE_PEER_ID=vp0
- CORE_PEER_ADDRESSAUTODETECT=true
- CORE_VM_ENDPOINT=http://172.17.0.1:2375
- CORE_LOGGING_LEVEL=DEBUG
command: peer node start
vp1:
extends:
service: vp0
environment:
- CORE_PEER_ID=vp1
Anderson Weber Bassani | IBM
- CORE_PEER_DISCOVERY_ROOTNODE=vp0:30303
links:
- vp0
vp2:
extends:
service: vp0
environment:
- CORE_PEER_ID=vp2
- CORE_PEER_DISCOVERY_ROOTNODE=vp0:30303
links:
- vp0
vp3:
extends:
service: vp0
environment:
- CORE_PEER_ID=vp3
- CORE_PEER_DISCOVERY_ROOTNODE=vp0:30303
links:
- vp0
__ 4. Start the four peers in Docker containers.
docker-compose up
Note: Allow the above command to continue to run in this shell.
Exercises Guide
32
Step 9: Deploy the example smart contract application (estimate time = 5 minutes)
__ 1. Start a second shell session with root access.
__ a. Log on to your virtual server with the ‘linux1’ user.
ssh -i <ssh key> linux1@<server IP address>
Or use an SSH client like PuTTY
__ b. Switch to root user.
sudo -i
__ 2. Switch to the following directory:
cd $GOPATH/src/github.com/hyperledger/fabric/build/bin
__ 3. Issue the following command to deploy the example smart contract application,
initialize the contract, and propagate to all peers. Variables ‘a’ and ‘b’ represent “account”
numbers initialized to 100 and 200, respectively.
NAME=`CORE_PEER_ADDRESS=172.17.0.2:30303 ./peer
chaincode deploy -p
github.com/hyperledger/fabric/examples/chaincode/go/cha
incode_example02 -c '{"Function":"init", "Args":
["a","100", "b", "200"]}'`
__ 4. The smart contract deployment is complete when all 4 peers have a status of
“Up…”. Issue this command to monitor the status:
docker ps -a
__ 5. Work with the smart contract and interact with the Blockchain by issuing the
following commands.
Anderson Weber Bassani | IBM
__ a. To query account b:
CORE_PEER_ADDRESS=172.17.0.2:30303 ./peer chaincode
query -n $NAME -c '{"Function": "query", "Args":
["b"]}'
The result should be 200.
__ b. To query account a:
CORE_PEER_ADDRESS=172.17.0.2:30303 ./peer chaincode
query -n $NAME -c '{"Function": "query","Args": ["a"]}'
The result should be 100.
__ c. To transfer 10 units from account a to account b:
CORE_PEER_ADDRESS=172.17.0.2:30303 ./peer chaincode
invoke -n $NAME -c '{"Function": "invoke","Args": ["a",
"b", "10"]}'
__ d. To query account b
CORE_PEER_ADDRESS=172.17.0.2:30303 ./peer chaincode
query -n $NAME -c '{"Function": "query", "Args":
["b"]}'
The result should be 210.
__ e. To query account a
CORE_PEER_ADDRESS=172.17.0.2:30303 ./peer chaincode
query -n $NAME -c '{"Function": "query","Args": ["a"]}'
The result should be 90.
Exercises Guide
34
Exercise review and wrap-up
Having completed this exercise, you should be able to:
 Describe of blockchain is and how does it integrates in the existing business
processes
 Describe blockchain major components
 Deploy a Linux on z virtual server on IBM Community Cloud
 Install the Hyperledger Fabric using Docker Containers
 Install and test a smart contract
Next steps:
 Explore the additional bibliography on the Appendix below, like
https://www.ibm.com/blockchain/getting-started.html
Anderson Weber Bassani | IBM
Appendix – Bibliography
Here it is some addition materials and references:
1) IBM and Blockchain - https://www.ibm.com/blockchain
2) IBM LinuxONE Community Cloud - https://developer.ibm.com/linuxone/
3) Hyperledger Project - https://www.hyperledger.org/
4) PuTTY Set up
https://developer.ibm.com/linuxone/wp-content/uploads/sites/57/2016/02/PUTTY-Set-
up.pdf
5) Deploy a Virtual Server on LinuxONE – Quick Start Guide
https://developer.ibm.com/linuxone/wp-content/uploads/sites/57/virtual-servers-quick-
start.pdf
6) LinuxONE Terms of Use
https://developer.ibm.com/linuxone/terms-of-use/
https://developer.ibm.com/linuxone/linuxone-community-cloud-terms-conditions/
7) Blockchain Quick Start Guide
https://developer.ibm.com/linuxone/wp-content/uploads/sites/57/blockchain-quick-start.pdf
8) Donna's Dillenberger's YouTube video:
https://www.youtube.com/watch?v=EqZr4LPQIWk
9) https://docs.docker.com/engine/userguide/intro/
10) https://github.com/harrijk/docs
11) https://raw.githubusercontent.com/harrijk/docs/master/zSystemsFabricBuild.sh
12) https://raw.githubusercontent.com/cheeye/blockchain/master/docker-compose.yml
Exercises Guide
36
13) https://github.com/hyperledger/fabric/blob/master/docs/Setup/Network-setup.md
14) Steps to setup Blockchain (Hyperledger Fabric 0.6) development environment on Ubuntu
https://www.ibm.com/developerworks/community/blogs/8d277a63-4204-4fd3-8cb8-
b7cb222cd522/entry/Steps_to_setup_Blockchain_Hyperledger_Fabric_0_6_development_environ
ment_on_Ubuntu?lang=en
15) Docker Hub - https://hub.docker.com/r/ibmblockchain/hyperledger-fabric/
16) An introduction text about Blockchain
https://www.ibm.com/developerworks/cloud/library/cl-blockchain-basics-intro-bluemix-
trs/index.html
17) Blockchain Terminology
https://www.ibm.com/developerworks/cloud/library/cl-blockchain-basics-glossary-bluemix-
trs/index.html
18) Hyperledger Fabric – Link to Protocol Specification -
https://github.com/hyperledger/fabric/blob/master/docs/protocol-spec.md
Anderson Weber Bassani | IBM
Appendix – Handy Commands
Stop all Docker containers
docker stop $(docker ps -a -q)
Removes all Docker instances
docker rm -f $(docker ps -a -q)
Removes all Docker images
docker rmi -f $(docker images -q)
Exercises Guide
38
With gratitude
This humble instructor could not complete this laboratory without the help of these teams:
 IBM Poughkeepsie Customer Center
 IBM LinuxONE Community Cloud
 IBM Systems Lab Services – Brazil
 Sandra Russell
 Eugene Ong
 Eva Yan

More Related Content

What's hot

ClueCon 2016: Should you use WebRTC?
ClueCon 2016: Should you use WebRTC?ClueCon 2016: Should you use WebRTC?
ClueCon 2016: Should you use WebRTC?Chad Hart
 
WebRTC From Asterisk to Headline - MoNage
WebRTC From Asterisk to Headline - MoNageWebRTC From Asterisk to Headline - MoNage
WebRTC From Asterisk to Headline - MoNageChad Hart
 
Securing TodoMVC Using the Web Cryptography API
Securing TodoMVC Using the Web Cryptography APISecuring TodoMVC Using the Web Cryptography API
Securing TodoMVC Using the Web Cryptography APIKevin Hakanson
 
Distributed:Health Code Camp Instructions
Distributed:Health Code Camp InstructionsDistributed:Health Code Camp Instructions
Distributed:Health Code Camp InstructionsTracy Kuhrt
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspectiveshwetank
 
stackconf 2021 | Continuous Security – integrating security into your pipelines
stackconf 2021 | Continuous Security – integrating security into your pipelinesstackconf 2021 | Continuous Security – integrating security into your pipelines
stackconf 2021 | Continuous Security – integrating security into your pipelinesNETWAYS
 
Roberto Clapis/Stefano Zanero - Night of the living vulnerabilities: forever-...
Roberto Clapis/Stefano Zanero - Night of the living vulnerabilities: forever-...Roberto Clapis/Stefano Zanero - Night of the living vulnerabilities: forever-...
Roberto Clapis/Stefano Zanero - Night of the living vulnerabilities: forever-...Codemotion
 
Astricon WebRTC Update
Astricon WebRTC UpdateAstricon WebRTC Update
Astricon WebRTC UpdateChad Hart
 
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and DefensesOWASP
 
Ieee S&P 2020 - Software Security: from Research to Industry.
Ieee S&P 2020 - Software Security: from Research to Industry.Ieee S&P 2020 - Software Security: from Research to Industry.
Ieee S&P 2020 - Software Security: from Research to Industry.Minded Security
 
02 - Introduction to Hyperledger Fabric
02 - Introduction to Hyperledger Fabric  02 - Introduction to Hyperledger Fabric
02 - Introduction to Hyperledger Fabric Merlec Mpyana
 
Encode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in MotokoEncode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in MotokoKlaraOrban
 
Control Plane: Security Rationale for Istio (DevSecOps - London Gathering, Ja...
Control Plane: Security Rationale for Istio (DevSecOps - London Gathering, Ja...Control Plane: Security Rationale for Istio (DevSecOps - London Gathering, Ja...
Control Plane: Security Rationale for Istio (DevSecOps - London Gathering, Ja...Michael Man
 
Lessons Learned in Automating Compliance for Containers
Lessons Learned in Automating Compliance for ContainersLessons Learned in Automating Compliance for Containers
Lessons Learned in Automating Compliance for ContainersAll Things Open
 
Kamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCKamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCChad Hart
 
6 Months of WebRTC in 10 minutes
6 Months of WebRTC in 10 minutes6 Months of WebRTC in 10 minutes
6 Months of WebRTC in 10 minutesChad Hart
 
Bandit and Gosec - Security Linters
Bandit and Gosec - Security LintersBandit and Gosec - Security Linters
Bandit and Gosec - Security LintersEricBrown328
 
ChronicleMap non-blocking cache for Gerrit v3.3
ChronicleMap non-blocking cache for Gerrit v3.3ChronicleMap non-blocking cache for Gerrit v3.3
ChronicleMap non-blocking cache for Gerrit v3.3Luca Milanesio
 
WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016Dan Jenkins
 
BASIC OVERVIEW OF KALI LINUX
BASIC OVERVIEW OF KALI LINUXBASIC OVERVIEW OF KALI LINUX
BASIC OVERVIEW OF KALI LINUXDeborah Akuoko
 

What's hot (20)

ClueCon 2016: Should you use WebRTC?
ClueCon 2016: Should you use WebRTC?ClueCon 2016: Should you use WebRTC?
ClueCon 2016: Should you use WebRTC?
 
WebRTC From Asterisk to Headline - MoNage
WebRTC From Asterisk to Headline - MoNageWebRTC From Asterisk to Headline - MoNage
WebRTC From Asterisk to Headline - MoNage
 
Securing TodoMVC Using the Web Cryptography API
Securing TodoMVC Using the Web Cryptography APISecuring TodoMVC Using the Web Cryptography API
Securing TodoMVC Using the Web Cryptography API
 
Distributed:Health Code Camp Instructions
Distributed:Health Code Camp InstructionsDistributed:Health Code Camp Instructions
Distributed:Health Code Camp Instructions
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
 
stackconf 2021 | Continuous Security – integrating security into your pipelines
stackconf 2021 | Continuous Security – integrating security into your pipelinesstackconf 2021 | Continuous Security – integrating security into your pipelines
stackconf 2021 | Continuous Security – integrating security into your pipelines
 
Roberto Clapis/Stefano Zanero - Night of the living vulnerabilities: forever-...
Roberto Clapis/Stefano Zanero - Night of the living vulnerabilities: forever-...Roberto Clapis/Stefano Zanero - Night of the living vulnerabilities: forever-...
Roberto Clapis/Stefano Zanero - Night of the living vulnerabilities: forever-...
 
Astricon WebRTC Update
Astricon WebRTC UpdateAstricon WebRTC Update
Astricon WebRTC Update
 
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
 
Ieee S&P 2020 - Software Security: from Research to Industry.
Ieee S&P 2020 - Software Security: from Research to Industry.Ieee S&P 2020 - Software Security: from Research to Industry.
Ieee S&P 2020 - Software Security: from Research to Industry.
 
02 - Introduction to Hyperledger Fabric
02 - Introduction to Hyperledger Fabric  02 - Introduction to Hyperledger Fabric
02 - Introduction to Hyperledger Fabric
 
Encode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in MotokoEncode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in Motoko
 
Control Plane: Security Rationale for Istio (DevSecOps - London Gathering, Ja...
Control Plane: Security Rationale for Istio (DevSecOps - London Gathering, Ja...Control Plane: Security Rationale for Istio (DevSecOps - London Gathering, Ja...
Control Plane: Security Rationale for Istio (DevSecOps - London Gathering, Ja...
 
Lessons Learned in Automating Compliance for Containers
Lessons Learned in Automating Compliance for ContainersLessons Learned in Automating Compliance for Containers
Lessons Learned in Automating Compliance for Containers
 
Kamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCKamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTC
 
6 Months of WebRTC in 10 minutes
6 Months of WebRTC in 10 minutes6 Months of WebRTC in 10 minutes
6 Months of WebRTC in 10 minutes
 
Bandit and Gosec - Security Linters
Bandit and Gosec - Security LintersBandit and Gosec - Security Linters
Bandit and Gosec - Security Linters
 
ChronicleMap non-blocking cache for Gerrit v3.3
ChronicleMap non-blocking cache for Gerrit v3.3ChronicleMap non-blocking cache for Gerrit v3.3
ChronicleMap non-blocking cache for Gerrit v3.3
 
WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016
 
BASIC OVERVIEW OF KALI LINUX
BASIC OVERVIEW OF KALI LINUXBASIC OVERVIEW OF KALI LINUX
BASIC OVERVIEW OF KALI LINUX
 

Similar to Lab Exercise: IBM Blockchain runs also on LinuxONE, see it in action!

Blockchain - Hyperledger Fabric v1.0 Running on LinuxONE, see it in action!
Blockchain - Hyperledger Fabric v1.0 Running on LinuxONE, see it in action!Blockchain - Hyperledger Fabric v1.0 Running on LinuxONE, see it in action!
Blockchain - Hyperledger Fabric v1.0 Running on LinuxONE, see it in action!Anderson Bassani
 
Software industrialization
Software industrializationSoftware industrialization
Software industrializationBibek Lama
 
Taishaun_OwnensCNS-533_Lab
Taishaun_OwnensCNS-533_LabTaishaun_OwnensCNS-533_Lab
Taishaun_OwnensCNS-533_LabTaishaun Owens
 
sfdx continuous Integration with Jenkins on aws (Part I)
sfdx continuous Integration with Jenkins on aws (Part I)sfdx continuous Integration with Jenkins on aws (Part I)
sfdx continuous Integration with Jenkins on aws (Part I)Jérémy Vial
 
Creating a gallery image for Azure marketplace
Creating a gallery image for Azure marketplaceCreating a gallery image for Azure marketplace
Creating a gallery image for Azure marketplaceAlexey Bokov
 
Raspberry pi and Azure
Raspberry pi and AzureRaspberry pi and Azure
Raspberry pi and AzureFaisal Mehmood
 
FIWARE Tech Summit - FIWARE Lab Cloud
FIWARE Tech Summit - FIWARE Lab CloudFIWARE Tech Summit - FIWARE Lab Cloud
FIWARE Tech Summit - FIWARE Lab CloudFIWARE
 
Lesson 02 - React Native Development Environment Setup
Lesson 02 - React Native Development Environment SetupLesson 02 - React Native Development Environment Setup
Lesson 02 - React Native Development Environment SetupUniversity of Catania
 
Day 1.pptx
Day 1.pptxDay 1.pptx
Day 1.pptxSubhaS77
 
Aws project jenkins-build-server
Aws project jenkins-build-serverAws project jenkins-build-server
Aws project jenkins-build-serversaifam
 
Handson1 6 federp
Handson1 6 federpHandson1 6 federp
Handson1 6 federpfederpmatc
 
Krenel Based Virtual Machine In Centos7
Krenel Based Virtual Machine In Centos7Krenel Based Virtual Machine In Centos7
Krenel Based Virtual Machine In Centos7a_ratra
 
Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage ServiceQuick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage ServiceCloudian
 
Setting up your virtual infrastructure using fi-lab cloud
Setting up your virtual infrastructure using fi-lab cloudSetting up your virtual infrastructure using fi-lab cloud
Setting up your virtual infrastructure using fi-lab cloudFernando Lopez Aguilar
 
FIWARE Cloud Exercises (Developer's week)
FIWARE Cloud Exercises (Developer's week)FIWARE Cloud Exercises (Developer's week)
FIWARE Cloud Exercises (Developer's week)Fernando Lopez Aguilar
 
Installing WordPress on AWS
Installing WordPress on AWSInstalling WordPress on AWS
Installing WordPress on AWSManish Jain
 
Blockchain Hyperledger Lab
Blockchain Hyperledger LabBlockchain Hyperledger Lab
Blockchain Hyperledger LabDev_Events
 

Similar to Lab Exercise: IBM Blockchain runs also on LinuxONE, see it in action! (20)

Blockchain - Hyperledger Fabric v1.0 Running on LinuxONE, see it in action!
Blockchain - Hyperledger Fabric v1.0 Running on LinuxONE, see it in action!Blockchain - Hyperledger Fabric v1.0 Running on LinuxONE, see it in action!
Blockchain - Hyperledger Fabric v1.0 Running on LinuxONE, see it in action!
 
Software industrialization
Software industrializationSoftware industrialization
Software industrialization
 
Taishaun_OwnensCNS-533_Lab
Taishaun_OwnensCNS-533_LabTaishaun_OwnensCNS-533_Lab
Taishaun_OwnensCNS-533_Lab
 
sfdx continuous Integration with Jenkins on aws (Part I)
sfdx continuous Integration with Jenkins on aws (Part I)sfdx continuous Integration with Jenkins on aws (Part I)
sfdx continuous Integration with Jenkins on aws (Part I)
 
Creating a gallery image for Azure marketplace
Creating a gallery image for Azure marketplaceCreating a gallery image for Azure marketplace
Creating a gallery image for Azure marketplace
 
Install
InstallInstall
Install
 
Raspberry pi and Azure
Raspberry pi and AzureRaspberry pi and Azure
Raspberry pi and Azure
 
FIWARE Tech Summit - FIWARE Lab Cloud
FIWARE Tech Summit - FIWARE Lab CloudFIWARE Tech Summit - FIWARE Lab Cloud
FIWARE Tech Summit - FIWARE Lab Cloud
 
Lesson 02 - React Native Development Environment Setup
Lesson 02 - React Native Development Environment SetupLesson 02 - React Native Development Environment Setup
Lesson 02 - React Native Development Environment Setup
 
Day 1.pptx
Day 1.pptxDay 1.pptx
Day 1.pptx
 
Aws project jenkins-build-server
Aws project jenkins-build-serverAws project jenkins-build-server
Aws project jenkins-build-server
 
DotNetNuke
DotNetNukeDotNetNuke
DotNetNuke
 
Handson1 6 federp
Handson1 6 federpHandson1 6 federp
Handson1 6 federp
 
Krenel Based Virtual Machine In Centos7
Krenel Based Virtual Machine In Centos7Krenel Based Virtual Machine In Centos7
Krenel Based Virtual Machine In Centos7
 
FIWARE Lab Cloud Portal
FIWARE Lab Cloud PortalFIWARE Lab Cloud Portal
FIWARE Lab Cloud Portal
 
Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage ServiceQuick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
 
Setting up your virtual infrastructure using fi-lab cloud
Setting up your virtual infrastructure using fi-lab cloudSetting up your virtual infrastructure using fi-lab cloud
Setting up your virtual infrastructure using fi-lab cloud
 
FIWARE Cloud Exercises (Developer's week)
FIWARE Cloud Exercises (Developer's week)FIWARE Cloud Exercises (Developer's week)
FIWARE Cloud Exercises (Developer's week)
 
Installing WordPress on AWS
Installing WordPress on AWSInstalling WordPress on AWS
Installing WordPress on AWS
 
Blockchain Hyperledger Lab
Blockchain Hyperledger LabBlockchain Hyperledger Lab
Blockchain Hyperledger Lab
 

More from Anderson Bassani

Cloud stack for z Systems - July 2016
Cloud stack for z Systems - July 2016Cloud stack for z Systems - July 2016
Cloud stack for z Systems - July 2016Anderson Bassani
 
OpenStack and z/VM – What is it and how do I get it?
OpenStack and z/VM – What is it and how do I get it?OpenStack and z/VM – What is it and how do I get it?
OpenStack and z/VM – What is it and how do I get it?Anderson Bassani
 
LPAR Design Tool V8 -T01 for IBM z Systems
LPAR Design Tool V8 -T01 for IBM z SystemsLPAR Design Tool V8 -T01 for IBM z Systems
LPAR Design Tool V8 -T01 for IBM z SystemsAnderson Bassani
 
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdtInstalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdtAnderson Bassani
 
IBM z/OS V2R2 Networking Technologies Update
IBM z/OS V2R2 Networking Technologies UpdateIBM z/OS V2R2 Networking Technologies Update
IBM z/OS V2R2 Networking Technologies UpdateAnderson Bassani
 
IBM z/OS V2R2 Performance and Availability Topics
IBM z/OS V2R2 Performance and Availability TopicsIBM z/OS V2R2 Performance and Availability Topics
IBM z/OS V2R2 Performance and Availability TopicsAnderson Bassani
 
IBM z/OS Version 2 Release 2 -- Fueling the digital enterprise
IBM z/OS Version 2 Release 2 -- Fueling the digital enterpriseIBM z/OS Version 2 Release 2 -- Fueling the digital enterprise
IBM z/OS Version 2 Release 2 -- Fueling the digital enterpriseAnderson Bassani
 
The IBM z13 - January 14, 2015 - IBM Latin America Hardware Announcement LG15...
The IBM z13 - January 14, 2015 - IBM Latin America Hardware Announcement LG15...The IBM z13 - January 14, 2015 - IBM Latin America Hardware Announcement LG15...
The IBM z13 - January 14, 2015 - IBM Latin America Hardware Announcement LG15...Anderson Bassani
 
IBM RACEv - Ferramenta para análise técnico e financeira para Plataforma Main...
IBM RACEv - Ferramenta para análise técnico e financeira para Plataforma Main...IBM RACEv - Ferramenta para análise técnico e financeira para Plataforma Main...
IBM RACEv - Ferramenta para análise técnico e financeira para Plataforma Main...Anderson Bassani
 
Unisanta - Visão Geral de hardware Servidor IBM System z
Unisanta - Visão Geral de hardware Servidor IBM System zUnisanta - Visão Geral de hardware Servidor IBM System z
Unisanta - Visão Geral de hardware Servidor IBM System zAnderson Bassani
 
Visão geral do hardware do servidor System z e Linux on z - Concurso Mainframe
Visão geral do hardware do servidor System z e Linux on z - Concurso MainframeVisão geral do hardware do servidor System z e Linux on z - Concurso Mainframe
Visão geral do hardware do servidor System z e Linux on z - Concurso MainframeAnderson Bassani
 
IBM Shopz - Procedimento de solicitação RSU para z/VM
IBM Shopz - Procedimento de solicitação RSU para z/VMIBM Shopz - Procedimento de solicitação RSU para z/VM
IBM Shopz - Procedimento de solicitação RSU para z/VMAnderson Bassani
 
Relatório Anual IBM 2013 v1
Relatório Anual IBM 2013 v1Relatório Anual IBM 2013 v1
Relatório Anual IBM 2013 v1Anderson Bassani
 
Servidor IBM zEnterprise BC12
Servidor IBM zEnterprise BC12Servidor IBM zEnterprise BC12
Servidor IBM zEnterprise BC12Anderson Bassani
 

More from Anderson Bassani (17)

Cloud stack for z Systems - July 2016
Cloud stack for z Systems - July 2016Cloud stack for z Systems - July 2016
Cloud stack for z Systems - July 2016
 
OpenStack and z/VM – What is it and how do I get it?
OpenStack and z/VM – What is it and how do I get it?OpenStack and z/VM – What is it and how do I get it?
OpenStack and z/VM – What is it and how do I get it?
 
LPAR Design Tool V8 -T01 for IBM z Systems
LPAR Design Tool V8 -T01 for IBM z SystemsLPAR Design Tool V8 -T01 for IBM z Systems
LPAR Design Tool V8 -T01 for IBM z Systems
 
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdtInstalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
Instalando um servidor virtual Linux on z (Red hat ou SUSE) no emulador z pdt
 
IBM z/OS V2R2 Networking Technologies Update
IBM z/OS V2R2 Networking Technologies UpdateIBM z/OS V2R2 Networking Technologies Update
IBM z/OS V2R2 Networking Technologies Update
 
IBM z/OS V2R2 Performance and Availability Topics
IBM z/OS V2R2 Performance and Availability TopicsIBM z/OS V2R2 Performance and Availability Topics
IBM z/OS V2R2 Performance and Availability Topics
 
IBM Wave for z/VM
IBM Wave for z/VMIBM Wave for z/VM
IBM Wave for z/VM
 
z/OS V2R2 Enhancements
z/OS V2R2 Enhancementsz/OS V2R2 Enhancements
z/OS V2R2 Enhancements
 
IBM z/OS Version 2 Release 2 -- Fueling the digital enterprise
IBM z/OS Version 2 Release 2 -- Fueling the digital enterpriseIBM z/OS Version 2 Release 2 -- Fueling the digital enterprise
IBM z/OS Version 2 Release 2 -- Fueling the digital enterprise
 
The IBM z13 - January 14, 2015 - IBM Latin America Hardware Announcement LG15...
The IBM z13 - January 14, 2015 - IBM Latin America Hardware Announcement LG15...The IBM z13 - January 14, 2015 - IBM Latin America Hardware Announcement LG15...
The IBM z13 - January 14, 2015 - IBM Latin America Hardware Announcement LG15...
 
IBM RACEv - Ferramenta para análise técnico e financeira para Plataforma Main...
IBM RACEv - Ferramenta para análise técnico e financeira para Plataforma Main...IBM RACEv - Ferramenta para análise técnico e financeira para Plataforma Main...
IBM RACEv - Ferramenta para análise técnico e financeira para Plataforma Main...
 
Unisanta - Visão Geral de hardware Servidor IBM System z
Unisanta - Visão Geral de hardware Servidor IBM System zUnisanta - Visão Geral de hardware Servidor IBM System z
Unisanta - Visão Geral de hardware Servidor IBM System z
 
Visão geral do hardware do servidor System z e Linux on z - Concurso Mainframe
Visão geral do hardware do servidor System z e Linux on z - Concurso MainframeVisão geral do hardware do servidor System z e Linux on z - Concurso Mainframe
Visão geral do hardware do servidor System z e Linux on z - Concurso Mainframe
 
Maximize o valor do z/OS
Maximize o valor do z/OSMaximize o valor do z/OS
Maximize o valor do z/OS
 
IBM Shopz - Procedimento de solicitação RSU para z/VM
IBM Shopz - Procedimento de solicitação RSU para z/VMIBM Shopz - Procedimento de solicitação RSU para z/VM
IBM Shopz - Procedimento de solicitação RSU para z/VM
 
Relatório Anual IBM 2013 v1
Relatório Anual IBM 2013 v1Relatório Anual IBM 2013 v1
Relatório Anual IBM 2013 v1
 
Servidor IBM zEnterprise BC12
Servidor IBM zEnterprise BC12Servidor IBM zEnterprise BC12
Servidor IBM zEnterprise BC12
 

Recently uploaded

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
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
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"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
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
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
 
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
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"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
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

Lab Exercise: IBM Blockchain runs also on LinuxONE, see it in action!

  • 1. Anderson Weber Bassani | IBM Lab Exercise: IBM Blockchain runs also on LinuxONE, see it in action! Anderson W. Bassani abassani@br.ibm.com Introduction: This laboratory covers a Blockchain implementation running on an IBM LinuxONE Server. Second, you will learn how to deploy a Hyperledger Fabric using Dockers Containers.
  • 2. Exercises Guide 2 Exercise instructions In this exercise you will complete the following tasks: __ 1. First, watch a Blockchain Implementation running on IBM LinuxONE __ a. What is Blockchain and why to run on IBM LinuxONE __ b. Blockchain Terminology __ c. Architecture __ d. Demonstration __ 2. Second, create your own Linux on z virtual server and deploy a Hyperledger Fabric __ a. Sign up for a LinuxONE Community Cloud trial account __ b. Log on, create a SSH key pair, and deploy a virtual server instance __ c. Setup PuTTY to use a private key __ d. Access the virtual server with Secure Shell (SSH) __ e. Build the Hyperledger Fabric __ f. Create a four-peer network __ g. Deploy the example smart contract application
  • 3. Anderson Weber Bassani | IBM Task 1 __ 3. First, watch a Blockchain Implementation running on IBM LinuxONE __ a. What is Blockchain and why to run on IBM LinuxONE Blockchain Terminology:  Business Networks  Transfer of assets within a Business Network  Assets – tangible, intangible, and digital  Transaction on this context  Shared Business Ledgers  The Database versus The Ledger – similar to systems of records  Consensus Algorithms, Consensus problem  Byzantine Generals problem, Cryptography  IBM’s Point of View – Open Source, Open Standard, Open Governance  Hyperledger Project – like Linux, Java, OpenStack  IBM’s Engagement – Conversations, Demonstrations, POT’s, POC’s Image: Blockchain on z Systems use case for Trade Finance/Logistics Watch the full demonstration at: https://www.youtube.com/watch?v=EqZr4LPQIWk
  • 4. Exercises Guide 4 Image: A Business Network example Image: The integration with existing Business Process
  • 5. Anderson Weber Bassani | IBM Image: Hyperledger fabric architecture (see reference 18)
  • 7. Anderson Weber Bassani | IBM Task 2 __ 4. Second, create your own Linux on z virtual server and deploy a Hyperledger Fabric __ a. Sign up for a LinuxONE Community Cloud trial account Important: On this Laboratory, you now can skip to Step 7: Build the Hyperledger Fabric on page 25. The instructor already created one Linux server and a private key for each group. Ask the instructor your Group Number, from 01 to 12. Besides that fact, the IBM LinuxONE Community Cloud is available on the internet, so you can reproduce all the steps on your company or at home! Step 1: Registration If you have not done so already, register at http://www.ibm.com/linuxone/try for a 120-day trial account. You will receive an email containing credentials to access the LinuxONE Community Cloud self-service portal. This is where you can start exploring all our available services. Image: The email with the credentials to access the LinuxONE Cloud
  • 8. Exercises Guide 8 Step 2: Log on to the self-service portal The portal URL and account credentials can be found in the email sent from “LinuxONE Community Cloud” with subject “Registration successful”. __ 1. Click on URL __ 2. Type in your account name and password. __ 2. Click on Sign in. The LinuxONE Community Cloud initial screen will open.
  • 9. Anderson Weber Bassani | IBM Step 3: Create an SSH key pair Virtual server instances require SSH key pairs for user authentication. Password is disabled for SSH. You must create one or import an existing public key to be used for instance deployment. __ 1. At the home page, click on your account name to display a list of options.
  • 10. Exercises Guide 10 __ 2. Select Manage SSH Key Pairs. __ 3. To import an existing SSH public key: __ a. Click on Import __ b. Provide a name for this key __ c. Click on Browse to select a file from your local file system __ d. Click on Upload your public key __ 4. To create a new SSH key pair: __ a. Click on Create __ b. Provide a name for this key. The instructor already created one key pair for each group. The key name is blockchainXX, where XX is the group number from 01 to 12.
  • 11. Anderson Weber Bassani | IBM Image: the Key Name for the first group __ c. Click on Create a new key pair __ d. Save the generated key. In this example, save the blockchain01.pem private key. Note: Take care in storing this private key. There is no way to retrieve this key once it has been saved.
  • 12. Exercises Guide 12 Step 4: Deploy a Virtual Server Instance __ 1. Click Home to go back to the home page __ 2. Click on Manage Instances from the Virtual Servers tile. __ 3. Click on Create. __ 4. Fill in all required information: __ a. On Step 1 Session: Enter Instance Details, fill the Instance name and Instance description of your server. Pay attention on Instance Description field, only English characters are allowed. __ b. On Step 2: Select an Image, select RHEL 7.2 image where we will create the Hyperledger Fabric afterwards. __ c. On Step 3: Select a Flavor, click LinuxONE-Medium. The option will be highlighted.
  • 13. Anderson Weber Bassani | IBM __ d. Select an SSH key. If you have not created or imported a key yet, click on Create / Import (Refer to Step 3: Create an SSH key pair) before continuing. In the image below, the blockchain01 key was selected. __ 4. Create the instance. __ a. Verify your selection. The Current Selection field present a summary of the options selected. __ b. Make any changes if necessary __ c. Click on Create. __ d. Wait until your instance be deployed.
  • 14. Exercises Guide 14 Image: The Instances screen and status information. When the instance deployment is complete, the server status will become “Active”. You can click on View details to display additional information about this instance. Image: The Instance Status after a successful deployment Image: View details
  • 15. Anderson Weber Bassani | IBM Step 5: Access virtual server with Secure Shell (SSH) Login for the root user is disabled. You must log in with the “linux1” user. This user has full sudo privilege. Linux and Mac OS X Users: Follow the instructions below if your workstation have these operating systems installed __ 1. Make sure your key has a file permission of 600. Run this command to change it if necessary: chmod 600 <yourkey>.pem __ 2. Run this command from a terminal to connect to your deployed instance.
  • 16. Exercises Guide 16 ssh -i <yourkey>.pem linux1@<instance IP address> Where: <yourkey>.pem is the key you created / imported earlier in Step 3: Create an SSH key pair. <instance IP address> is the IP address assigned to your deployed instance. Windows Users: Follow the instructions below if your workstation have Windows installed __ 1. You have to use an SSH client. A popular and free SSH client is PuTTY. You can download PuTTY from this website: http://www.putty.org/ . __ 2. Set up PuTTY on Windows to use SSH private key. __ a. Download PuTTYgen from this website http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html __ b. Save the puttygen.exe (183 KB) binary file __ c. Double click to execute the PUTTYGEN program. Click Run.
  • 17. Anderson Weber Bassani | IBM __ d. The PuTTY Key Generator initial screen will open
  • 18. Exercises Guide 18 __ e. Let’s protect the private key. Click File > Load private key __ f. Select the folded that contains your private key, select All Files (the PuTTY try to locate PuTTY Private Key Files with extension .ppk). Select the blockchainXX.pem private key. Click Open.
  • 19. Anderson Weber Bassani | IBM __ g. Click OK button to acknowledge the successful notice __ h. Enter a key passphrase and confirm it. Important: The key passphrase that was used for all the Groups = stu2016
  • 20. Exercises Guide 20 __ i. Click Save private key. Each Group have one blockchainXX.ppk private key, so no one is able to connect on a different virtual machine. Note: the protected private key file (.ppk) just created is needed by PuTTY. __ j. Let’s now set up the PuTTY with the protected private key already created. Start PuTTY.
  • 21. Anderson Weber Bassani | IBM __ k. Select Connection->SSH->Auth and Click Browse to select the protected private key file (.ppk)
  • 22. Exercises Guide 22 __ l. Select Connection->Data and enter linux1 in the Auto-login username textbox
  • 23. Anderson Weber Bassani | IBM __ m. Select Session and enter the IP address for your image in the Host Name textbox. On the Saved Session, insert your Group name (blockchainXX). Click Save.
  • 24. Exercises Guide 24 __ n. Click Open and acknowledge the Security Alert by clicking Yes.
  • 25. Anderson Weber Bassani | IBM __ o. Enter the passphrase for the protected private key. Hint: The passphrase is stu2016 __ p. Welcome to Bash! You will receive the Welcome to LinuxONE Community Cloud! Screen. Step 6: Manage your virtual server instance You can use the self-service portal to: 1. Create an instance 2. Stop an instance 3. Start an instance 4. Delete an instance Important: Read the important information below about your virtual server instance 1. The root user login is disabled. 2. You must log in with the user “linux1” with your SSH private key.
  • 26. Exercises Guide 26 3. The “linux1” user has full sudo privilege. 4. There is a 42 GB user disk mounted at /data. 5. Firewall is enabled. Only the SSH port is open. Modify the firewall rules if you need other ports opened. 6. Your server will be shut off if it is inactive for more than 7 days. You can start it using the self-service portal. Note: About your LinuxONE Community Cloud account 1. Your LinuxONE Community cloud trial allows you to deploy one (1) virtual server. You may delete this server and deploy another instance using other images in the catalog. 2. Your server will be deleted and trial account will be cancelled if your server is shut off for more than 30 days. 3. You must abide to these terms of use (https://developer.ibm.com/linuxone/terms-of- use/) which you have agreed during registration. Any misuse will result in immediate revoke of access to the cloud.
  • 27. Anderson Weber Bassani | IBM Step 7: Build the Hyperledger Fabric (estimate time = 11 minutes) __ 1. Log on to your virtual server with the ‘linux1’ user. ssh -i <ssh key> linux1@<server IP address> Or use an SSH client like PuTTY Table: Hostname and IP Addresses Hostname IP Address blockchain01 148.100.5.105 blockchain02 148.100.5.118 blockchain03 148.100.5.154 blockchain04 148.100.5.155 blockchain05 148.100.5.127 blockchain06 148.100.5.132 blockchain07 148.100.5.159 blockchain08 148.100.5.160 blockchain09 148.100.5.142 blockchain10 148.100.5.144 blockchain11 148.100.5.161 blockchain12 148.100.5.153 __ 2. Switch to root user.
  • 28. Exercises Guide 28 sudo -i __ 3. Create a new directory under /data. mkdir /data/docker __ 4. Create a symbolic link to the /data/docker directory. ln -s /data/docker /var/lib/docker __ 5. Switch to the /root directory. cd /root __ 6. Get the hyperledger fabric build script and save it to a file. wget https://raw.githubusercontent.com/harrijk/docs/master/z SystemsFabricBuild.sh __ 7. Run the script to build the hyperledger fabric. . zSystemsFabricBuild.sh __ 8. The script will print the following message to the screen when complete: Cleanup Docker artifacts 5060467d937a eb2dfef3e4cc 957156e7b57f 9eab3b31a85f fbc0388343ff
  • 29. Anderson Weber Bassani | IBM brunswickheads/openchain-peer latest dc53061bd3e5 6 months ago 1.256 GB Untagged: brunswickheads/openchain-peer:latest *** DONE *** The Hyperledger Fabric and its supporting components have been successfully installed.
  • 30. Exercises Guide 30 Step 8: Create a four-peer network (estimate time = 5 minutes) __ 1. The build process returned your session to the linux1 user. Switch to root user. sudo -i __ 2. Switch to the following directory. cd $GOPATH/src/github.com/hyperledger/fabric/build/bin __ 3. Use Docker Compose to define four peers in the chain and set up the containers. Get the docker-compose.yml file using the following command: wget https://raw.githubusercontent.com/cheeye/blockchain/mas ter/docker-compose.yml The docker-compose.yml file contains the following configuration: [root@blockchainXX]# cat docker-compose.yml vp0: image: hyperledger/fabric-peer environment: - CORE_PEER_ID=vp0 - CORE_PEER_ADDRESSAUTODETECT=true - CORE_VM_ENDPOINT=http://172.17.0.1:2375 - CORE_LOGGING_LEVEL=DEBUG command: peer node start vp1: extends: service: vp0 environment: - CORE_PEER_ID=vp1
  • 31. Anderson Weber Bassani | IBM - CORE_PEER_DISCOVERY_ROOTNODE=vp0:30303 links: - vp0 vp2: extends: service: vp0 environment: - CORE_PEER_ID=vp2 - CORE_PEER_DISCOVERY_ROOTNODE=vp0:30303 links: - vp0 vp3: extends: service: vp0 environment: - CORE_PEER_ID=vp3 - CORE_PEER_DISCOVERY_ROOTNODE=vp0:30303 links: - vp0 __ 4. Start the four peers in Docker containers. docker-compose up Note: Allow the above command to continue to run in this shell.
  • 32. Exercises Guide 32 Step 9: Deploy the example smart contract application (estimate time = 5 minutes) __ 1. Start a second shell session with root access. __ a. Log on to your virtual server with the ‘linux1’ user. ssh -i <ssh key> linux1@<server IP address> Or use an SSH client like PuTTY __ b. Switch to root user. sudo -i __ 2. Switch to the following directory: cd $GOPATH/src/github.com/hyperledger/fabric/build/bin __ 3. Issue the following command to deploy the example smart contract application, initialize the contract, and propagate to all peers. Variables ‘a’ and ‘b’ represent “account” numbers initialized to 100 and 200, respectively. NAME=`CORE_PEER_ADDRESS=172.17.0.2:30303 ./peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/cha incode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'` __ 4. The smart contract deployment is complete when all 4 peers have a status of “Up…”. Issue this command to monitor the status: docker ps -a __ 5. Work with the smart contract and interact with the Blockchain by issuing the following commands.
  • 33. Anderson Weber Bassani | IBM __ a. To query account b: CORE_PEER_ADDRESS=172.17.0.2:30303 ./peer chaincode query -n $NAME -c '{"Function": "query", "Args": ["b"]}' The result should be 200. __ b. To query account a: CORE_PEER_ADDRESS=172.17.0.2:30303 ./peer chaincode query -n $NAME -c '{"Function": "query","Args": ["a"]}' The result should be 100. __ c. To transfer 10 units from account a to account b: CORE_PEER_ADDRESS=172.17.0.2:30303 ./peer chaincode invoke -n $NAME -c '{"Function": "invoke","Args": ["a", "b", "10"]}' __ d. To query account b CORE_PEER_ADDRESS=172.17.0.2:30303 ./peer chaincode query -n $NAME -c '{"Function": "query", "Args": ["b"]}' The result should be 210. __ e. To query account a CORE_PEER_ADDRESS=172.17.0.2:30303 ./peer chaincode query -n $NAME -c '{"Function": "query","Args": ["a"]}' The result should be 90.
  • 34. Exercises Guide 34 Exercise review and wrap-up Having completed this exercise, you should be able to:  Describe of blockchain is and how does it integrates in the existing business processes  Describe blockchain major components  Deploy a Linux on z virtual server on IBM Community Cloud  Install the Hyperledger Fabric using Docker Containers  Install and test a smart contract Next steps:  Explore the additional bibliography on the Appendix below, like https://www.ibm.com/blockchain/getting-started.html
  • 35. Anderson Weber Bassani | IBM Appendix – Bibliography Here it is some addition materials and references: 1) IBM and Blockchain - https://www.ibm.com/blockchain 2) IBM LinuxONE Community Cloud - https://developer.ibm.com/linuxone/ 3) Hyperledger Project - https://www.hyperledger.org/ 4) PuTTY Set up https://developer.ibm.com/linuxone/wp-content/uploads/sites/57/2016/02/PUTTY-Set- up.pdf 5) Deploy a Virtual Server on LinuxONE – Quick Start Guide https://developer.ibm.com/linuxone/wp-content/uploads/sites/57/virtual-servers-quick- start.pdf 6) LinuxONE Terms of Use https://developer.ibm.com/linuxone/terms-of-use/ https://developer.ibm.com/linuxone/linuxone-community-cloud-terms-conditions/ 7) Blockchain Quick Start Guide https://developer.ibm.com/linuxone/wp-content/uploads/sites/57/blockchain-quick-start.pdf 8) Donna's Dillenberger's YouTube video: https://www.youtube.com/watch?v=EqZr4LPQIWk 9) https://docs.docker.com/engine/userguide/intro/ 10) https://github.com/harrijk/docs 11) https://raw.githubusercontent.com/harrijk/docs/master/zSystemsFabricBuild.sh 12) https://raw.githubusercontent.com/cheeye/blockchain/master/docker-compose.yml
  • 36. Exercises Guide 36 13) https://github.com/hyperledger/fabric/blob/master/docs/Setup/Network-setup.md 14) Steps to setup Blockchain (Hyperledger Fabric 0.6) development environment on Ubuntu https://www.ibm.com/developerworks/community/blogs/8d277a63-4204-4fd3-8cb8- b7cb222cd522/entry/Steps_to_setup_Blockchain_Hyperledger_Fabric_0_6_development_environ ment_on_Ubuntu?lang=en 15) Docker Hub - https://hub.docker.com/r/ibmblockchain/hyperledger-fabric/ 16) An introduction text about Blockchain https://www.ibm.com/developerworks/cloud/library/cl-blockchain-basics-intro-bluemix- trs/index.html 17) Blockchain Terminology https://www.ibm.com/developerworks/cloud/library/cl-blockchain-basics-glossary-bluemix- trs/index.html 18) Hyperledger Fabric – Link to Protocol Specification - https://github.com/hyperledger/fabric/blob/master/docs/protocol-spec.md
  • 37. Anderson Weber Bassani | IBM Appendix – Handy Commands Stop all Docker containers docker stop $(docker ps -a -q) Removes all Docker instances docker rm -f $(docker ps -a -q) Removes all Docker images docker rmi -f $(docker images -q)
  • 38. Exercises Guide 38 With gratitude This humble instructor could not complete this laboratory without the help of these teams:  IBM Poughkeepsie Customer Center  IBM LinuxONE Community Cloud  IBM Systems Lab Services – Brazil  Sandra Russell  Eugene Ong  Eva Yan