All Projects → olegabu → Fabric Starter

olegabu / Fabric Starter

Licence: apache-2.0
Starter Application and Deployment Scripts for Hyperledger Fabric

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Fabric Starter

hlf-operator
Hyperledger Fabric Kubernetes operator - Hyperledger Fabric operator for Kubernetes (v2.2+)
Stars: ✭ 112 (-44.55%)
Mutual labels:  fabric, hyperledger, hyperledger-fabric
Fabric Gateway Java
Hyperledger Fabric Gateway SDK for Java https://wiki.hyperledger.org/display/fabric
Stars: ✭ 122 (-39.6%)
Mutual labels:  blockchain, fabric, hyperledger
hyperledger-fabric-sdk-php
Client SDK for Hyperledger Fabric for use in PHP applications
Stars: ✭ 40 (-80.2%)
Mutual labels:  fabric, hyperledger, hyperledger-fabric
Heroes Service
Short tutorial to build a blockchain application in Go with Hyperledger Fabric
Stars: ✭ 248 (+22.77%)
Mutual labels:  blockchain, hyperledger, hyperledger-fabric
Pivt
Helm charts for running and operating Hyperledger Fabric in Kubernetes. Previously hosted at https://github.com/APGGroeiFabriek/PIVT.
Stars: ✭ 159 (-21.29%)
Mutual labels:  blockchain, hyperledger, hyperledger-fabric
Fabric Explorer
Fabric-explorer is a simple, powerful, maintainable, open source fabric explorer
Stars: ✭ 117 (-42.08%)
Mutual labels:  blockchain, fabric, hyperledger
Fabric Sdk Node
Hyperledger Fabric SDK for Node https://wiki.hyperledger.org/display/fabric
Stars: ✭ 676 (+234.65%)
Mutual labels:  blockchain, fabric, hyperledger
bdk
Streamlined blockchain deployment kit for Hyperledger Fabric.
Stars: ✭ 43 (-78.71%)
Mutual labels:  fabric, hyperledger, hyperledger-fabric
Fabric
Hyperledger Fabric is an enterprise-grade permissioned distributed ledger framework for developing solutions and applications. Its modular and versatile design satisfies a broad range of industry use cases. It offers a unique approach to consensus that enables performance at scale while preserving privacy.
Stars: ✭ 12,911 (+6291.58%)
Mutual labels:  blockchain, fabric, hyperledger
Hyperledger Fabric Gm
支持国密加密算法的Hyperledger Fabric版本
Stars: ✭ 152 (-24.75%)
Mutual labels:  blockchain, fabric, hyperledger
Fabric Sdk Py
Hyperledger Fabric Python SDK
Stars: ✭ 303 (+50%)
Mutual labels:  blockchain, fabric, hyperledger
Mortgageblockchainfabric
Mortgage Processing App using Hyperledger Fabric Blockchain. Uses channels for privacy and access, and restricts read/write previleges through endorsement policies
Stars: ✭ 45 (-77.72%)
Mutual labels:  blockchain, fabric, hyperledger
Fabric Sdk Go
Stars: ✭ 712 (+252.48%)
Mutual labels:  blockchain, hyperledger, hyperledger-fabric
Fabric Sdk Java
Stars: ✭ 982 (+386.14%)
Mutual labels:  blockchain, fabric, hyperledger
Blockchainbooks.github.io
Blockchain Books
Stars: ✭ 139 (-31.19%)
Mutual labels:  blockchain, hyperledger, hyperledger-fabric
Iroha Android
Android library for Iroha, a Distributed Ledger Technology (blockchain) platform.
Stars: ✭ 108 (-46.53%)
Mutual labels:  blockchain, hyperledger
Ergo
The Language for Smart Legal Contracts
Stars: ✭ 108 (-46.53%)
Mutual labels:  blockchain, hyperledger
Hyperledger Typescript Boilerplate
This is a boilerplate that interacts between Hyperledger Fabric Peers and a front end.
Stars: ✭ 109 (-46.04%)
Mutual labels:  fabric, hyperledger-fabric
Todo List Fabricv1
A todo list application using Hyperledger Fabric V1 as a data source
Stars: ✭ 103 (-49.01%)
Mutual labels:  blockchain, hyperledger-fabric
Composer Sample Applications
⚠️ ⚠️ ⚠️ Hyperledger Composer has been deprecated ⚠️ ⚠️ ⚠️
Stars: ✭ 110 (-45.54%)
Mutual labels:  blockchain, hyperledger

Starter Application for Hyperledger Fabric

Create a 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 network and deploy your chaincodes. 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 possibilites in more details:

Install

See Prerequisites

Using a particular version of Hyperledger Fabric

To deploy network with a particular version of HL Fabric export desired version in the FABRIC_VERSION environment variable. The latest docker image tag is used by default.

export FABRIC_VERSION=1.2.0

Create a network with 1 organization for development

See One Org Network

Create a local network of 3 organizations

See Three local Orgs Network

Use REST API to query and invoke chaincodes

See Use REST Api

Multi host deployment

See Multi host deployment

Join to an External Network

For invite-based blockchain-networks (see next chapter) new organization can be added to the consortium by a member of this network. The new organization need to obtain the BOOTSRAP_IP (currently it's the IP of the orderer node) and deploy its own node with this IP.

export BOOTSTRAP_IP=192.168.0.1
#ORG=... DOMAIN=... docker-compose up

Then the new organization passes the ip address of the newly deployed node to the network's member and this member adds the organization to Consortium by it's administration dashboard. After that the new organization can create own channels, add other organizations to the own channels and even invite more organizations to the network itself.

Network Governance. Invite-based and Majority-based Governance

So now our network can be governed by itself (or to say it right by the network's members). The first type of network-governance is Invite-based. With this type of deployment any organization ((and not a central system administrator)) - member of the blockchain network can add new organization to consortium.

To deploy such type of network export environment variable

export CONSORTIUM_CONFIG=InviteConsortiumPolicy

Start orderer:

WWW_PORT=81 WORK_DIR=./ docker-compose -f docker-compose-orderer.yaml -f docker-compose-orderer-multihost.yaml up -d

Then start an organization

MY_IP=192.168.99.yy BOOTSTRAP_IP=192.168.99.xx ORG=org1 MULTIHOST=true WORK_DIR=./ docker-compose -f docker-compose.yaml -f docker-compose-multihost.yaml -f docker-compose-api-port.yaml up -d 

Majority type of governance is coming.

Consensus Types. RAFT consensus algorithm. By default Fabric Starter uses Solo type of consensus. To use RAFT consensus see instructions in Start Raft Ordering Service

Releases\Snapshots cycle

As this project doesn't have a defined release cycle yet we create snapshot-{version}-{fabric-version} branches
when we see code is stable enough or before introducing major changes\new features.

Note, the Hyperledger Fabric version which the snapshot depends on is defined in the .env file.
Also this project uses olegabu/fabric-starter-rest docker image which has the same versioning approach but even updated docker image with the same label (e.g. latest) won't be pulled automatically if it exists in the local docker registry.
You have to remove the old image manually (by docker rmi -f olegabu/fabric-starter-rest).

The master branch as well as potentially feature branches are used for development.
Master is assigned to the latest version of Fabric.

Currently issued branches are:

  • master(development)
  • snapshot-0.5-1.4
    • new org auto connect for invite type consortium
    • new orgs dns register functionality
    • use fabric-starter-rest:snapshot-0.4-1.4
  • snapshot-0.4-1.4
    • auto-generate crypto configuration
    • Invite type consortium
    • BOOTSTRAP_IP for new node joining
  • snapshot-0.3-1.4
    • use fabric-starter-rest:snapshot-0.3-1.4
  • snapshot-0.2-1.4
    • use fabric-starter-rest:snapshot-0.2-1.4
  • snapshot-0.1-1.4
    • start snapshot branching
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].