The purpose of this repository is to get you started working on Hyperledger Fabric framework which is an all- purpose permissinoes blockchain where you can desing a business logic, code smart contracts, build and deploy a network that will follow the business logic. Composer is a tool for rapid prototyping that allows you tom build proof of concept ob the business network and that can be deployed and tested on an online playground, locally or on a server. Composer is ment to be a tool for testing and addoption but it is recomended tha in development to work directly on Fabric.
This How To will guide you to the documentation and tutorials of both Fabric and Composer and propose some exercises to get you started. It is based on the work we have been doing on Blockchain for Open Science and the git repo and a number of side projects that we have worked on over the last two years.
In this repo you can find three presentations that I prepared for a tutorial I gave on Blockchain at the Biohackaton in Paris in November 2018 This is a good stating point for our main project which is the scholarly wallet, the other presentations are a summary of the Fabric framework and the Composer tool.
The best place to get started is to look at the oficial documentation
- First use the online tutorial, the Composer-Playground and follow a couple of examples: my-basic-sample or deploy some of the other samples like the marble or bond network. The playground will give you the understanding og the elements that make up a business model, for example the participants, the assets and the transactions. Understand the business model and the business logic of the transactions that are coded using JS.
- You can complement your undertanding of the examples with the presentation Introduction to Composer or go directly to the Playground Tutorial
- You can export any business network archive (*.bna) that can be deployed onto a running fabric network.
After you play around with the on-line tutorial you might want to perform a local installation of the development enviorment. Currently you have the official documentation that is supporting version 1.2 and version 1.4 (latest and first long term support release).
- Follow the installation instructions, this includes the pre-requisites
- After pre-requisites are installed and verifies, you can bootstrap any version of fabric using bootstrap.sh, follow the intructions
- Once installation is complete you can start a basic network locally for version 1.2 and version 1.4 and deploy a *.bna file that contains the business logic of your network. This *.bna was previously build using composer language.
The blockchain for open science project is currently focused on building a scholarly wallet that can track the provenance of different types of research objects that are intermediate inputs in the research process. So far we ahved designed the business logic using composer and then deploy this logic onto the most basic network in Fabric using Fabric version 1.2.
-
The business logic behind the first version of the scholarly wallet is denoted as bforos. You can upload the file '[email protected]' to composer playground and follow the readme file.
We are currently looking into the design the business logic directly using native Fabric, this is an important step to go beyond a proof of concept. The most recent version of Fabric (version 1.4) has an excellent example to do this base on the PaperNet: Comercial Paper Tutorial
-
It would be an interesting exercise to build a Composer example that follows the Comercial Paper Tutorial. Although there are already somo examples that consider a bond network or letters of credit (see Playgroud examples), however the idea is to build an example that shows the transition from Composer to native Fabric. I already started to do this. The model file is done (*.cto) still need to do the business logic.