Skip to content

LennartFr/CollisionComposer

Repository files navigation

Blockchainintro ibm.biz/lacollision

https://github.com/eciggaar/BlockchainPublicRegulationFabric-Food

blueband

From the press: Blockchain in action

MAERSK SAIGON - IMO: 9303534

IBM and Maersk Are Creating a New Blockchain Company
IBM and Danish shipping giant Maersk are teaming up to form a new company whose aim is to commercialize blockchain technology—the nifty, shared accounting ledgers first made famous by the cryptocurrency Bitcoin.

IBM and Stellar Are Launching Blockchain Banking Across Multiple Countries

Blockchain Usecases

Blockchain usecases from IBM

blueband

fabric

https://www.hyperledger.org/projects/fabric

Hyperledger Fabric Documentation

Hyperledger, an open source collaborative effort to advance cross-industry blockchain technologies, is hosted by The Linux Foundation®.

Deployed in Docker images.

Hyperledger Services

Permissioned

Google RPC P2P Protocol

https://medium.com/@robertgreenfieldiv/hyperledger-blockchain-for-a-web-2-0-architecture-6d3c83818eb1

EndorsementConsensus

It is also important to note the Hyperledger Fabric has HSM (Hardware Security Module) support which is vital for safeguarding and managing digital keys for strong authentication. Hyperledger Fabric provides modified and unmodified PKCS11 for key generation, which supports cases like identity management that need more protection.

blueband

Hyperledger Composer

composer

https://www.hyperledger.org/projects/composer

Composer Playground

blueband

IBM Blockchain Platform

Launch a basic IBM Blockchain network on the IBM Container Service's free plan

blueband

Designing and creating Blockchain applications

Step 1: Learn Design Thinking

IBM Design Thinking Field Guide

Step 2: Go through IBM Blockchain Use Cases

IBM Blockchain Use Cases

Step 3a: Take the IBM Blockchain on-line course

Zero to Blockchain An IBM Redbooks course

Step 3b: Go through selected Blockchain Developer Patterns

Blockchain Developer Patterns

Step 4: Learn the Hyperledger Composer tool

Hyperledger Composer Tutorial

Writing Your First Application

In Hyperledger Composer: save data model as a .bna file.

Step 5: Deploy the business network to Hyperledger Fabric.

  • This requires the Hyperledger Composer chaincode to be installed on the peer,
  • then the business network archive (.bna) must be sent to the peer,
  • and a new participant, identity, and associated card must be created to be the network administrator.
  • Finally, the network administrator business network card must be imported for use,
  • and the network can then be pinged to check it is responding.

Step by step description





Deploy a sample application to the IBM Blockchain Platform Get up and running with the Enterprise Membership fast

Develop in a cloud sandbox IBM Blockchain Platform

blueband

Exercises

IBM Blockchain 101: Quick-start guide for developers. Create your first blockchain network and start coding applications

Exercise 1: Hyperledger Composer Playground Tutorial

Composer

Hyperledger Composer Playground Tutorial

Hyperledger Composer Documentation

Hyperledger Composer Command Line

Exercise 2 Decentralized energy with Hyperledger Composer

Decentralized energy with Hyperledger Composer

Wondering where blockchain might apply in your own life? Interested in energy, sustainability, or climate change? Try your hand at creating a basic blockchain app to interact with a decentralized energy network! The idea behind the app is a neighborhood where residents produce and sell excess solar-panel energy to residents who need it. This is an excellent example of how blockchain can begin to transform our world.

Excercise 3 Create the full marbles app

Go through the BlockchainNetwork-CompositeJourney

An enterprise-ready blockchain platform designed to accelerate the development, governance and operation of a multi-institution business network

ibm.biz/ibmbctechpaper

Exercise 4.1 Setting up a Blockchain app in the IBM Container Service ready for IBM Blockchain

Develop in a cloud sandbox IBM Blockchain Platform

Exercise 4.2 Setting up a Blockchain app in the IBM Cloud

IBM Blockchain in the IBM Cloud



blueband

Resources

Zero to Bockchain

Zero to Blockchain

Node-RED and Hyperledger Composer

Appendix

Channels

A Hyperledger Fabric channel is a private “subnet” of communication between two or more specific network members, for the purpose of conducting private and confidential transactions.

The Ledger and the State Database

There are two place which "store" data in Hyperledger Fabric:

The ledger is the actual "blockchain".

It is a file-based ledger which stores serialized blocks. Each block has one or more transactions.
Each transaction contains a read-write set which modifies one or more key/value pairs.
The ledger is the definitive source of data and is immutable.

The state database holds the last known committed value for any given key.

It is populated when each peer validates and commits a transaction.
The state database can always be rebuilt from re-processing the ledger.
There are currently two options for the state database: an embedded LevelDB or an external CouchDB.

As an aside, if you are familiar with Hyperledger Fabric channels, there is a separate ledger for each channel as well.

When we query from where do we retrieve data? 1) from the blockchain chain or 2) from state db?

. If it is from state db how can it retrieve a specific key because you mentioned "state database holds the last known committed value for any given key"

Queries or GetState in chaincode return data from the state db. They will only return the last value for a key.

If you want to get the entire history for a key, you need to enable the historical database in the configuration of your peer

Chaincode.

Like Stored Procedures in a traditional database, handles business logic. http://hyperledger-fabric.readthedocs.io/en/release/chaincode4ade.htm

Hyperledger helloworld 2

Chaincode is a piece of code that is written in one of the supported languages such as Go or Java. It is installed and instantiated through an SDK or CLI onto a network of Hyperledger Fabric peer nodes, enabling interaction with that network's shared ledger.

Today, consensus protocols exist in many variations, but all of them need a majority or even a qualified majority (such as 2/3 of the nodes) to be correct, whereas the remaining ones could fail, misbehave, or even act adversarially against finding consensus.

Starting with the celebrated protocols for Byzantine Agreement established in 1982, consensus protocols have found widespread applications for keeping distributed systems healty and making cloud platforms operate continuously.

A blockchain is a decentralized virtual ledger for recording transactions without central authority through a distributed cryptographic protocol. It is made up of three technologies

  1. cryptographic algorithms,
  2. a distributed protocol,
  3. and replicated data

which combined provide a trustworthy service to a group of nodes that do not fully trust each other.

Source: https://www.zurich.ibm.com/dccl/papers/cachin_dccl.pdf

The Blockchain Distributed Ledger

A distributed ledger is a type of database that is shared, replicated, and synchronized among the members of a network. The distributed ledger records the transactions, such as the exchange of assets or data, among the participants in the network.

Participants in the network govern and agree by consensus on the updates to the records in the ledger. No central, third-party mediator, such as a financial institution or clearinghouse, is involved.

Every record in the distributed ledger has a timestamp and unique crytographic signature, thus making the ledger an auditable history of all transactions in the network. One implementation of distributed ledger technology is the open source Hyperledger Fabric blockchain.

https://console.bluemix.net/docs/services/blockchain/index.html#ibm-blockchain-platform

Hyperledger, 1,000 transactions/second

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published