olegabu / fabric-starter

Starter Application and Deployment Scripts for Hyperledger Fabric
Apache License 2.0
239 stars 184 forks source link
blockchain fabric hyperledger hyperledger-fabric

Starter Application for Hyperledger Fabric

(!) The project has switched to Hyperledger Fabric v2.3. For using previous versions see snapshot-xxx branches

Create a Hyperledger Fabric network to jump start development of your decentralized application on Hyperledger Fabric platform.

The network is run by docker containers and can be deployed to one host for development or to multiple hosts for testing or production.

Scripts of this starter generate crypto material and config files, start the Hyperledger Fabric node and deploy your chaincodes. Additional nodes can be started and automatically connected to a Blockchain network.

Developers can use REST API to invoke and query chaincodes, explore blocks and transactions.

What's left is to develop your chaincodes and place them into the chaincode folder, and user interface as a single page web app that you can serve by by placing the sources into the www folder.

See also

Blockchain network deployment

The following sections describe Fabric Starter possibilities in more details:

Install

See Prerequisites

Using a particular version of Hyperledger Fabric

By default Fabric starter uses the 2.3 version of HL Fabric. If you want to deploy network with another version of HL Fabric then export it in the FABRIC_VERSION environment variable, e.g.:

export FABRIC_VERSION=1.4.8

Create a network with one organization

See Start an organization node

Add other organizations to the Network

See Add organizations to Network

Use REST API to query and invoke chaincodes

See Use REST Api

Use LDAP for user authentication and management

LDAP and Hyperledger Fabric Certification Authority are the two options for user management and membership. See Use LDAP for LDAP details.

Consensus Types. RAFT consensus algorithm.

Two types of consensus are used for ordering: Raft and Solo. For using Raft consensus see instructions in Start Raft Ordering Service

Prepare and install chaincodes

See Install Chaincodes

Releases\Snapshots cycle

When the code is stable for release or before introducing major changes\new features the branches stable, hlf-{fabric-version}-stable and hlf-{fabric-version}-snapshot-{version} are created.

Up to the snapshot-0.13-2.3 the snapshot-{version}-{fabric-version} tempate was used.

Note, the Hyperledger Fabric version and the Fabric Starter version which the snapshot depends on are defined in the .env file.