Installing the development environment
Follow these instructions to obtain the Hyperledger Composer development tools (primarily used to create Business Networks) and stand up a Hyperledger Fabric (primarily used to run/deploy your Business Networks locally). Note that the Business Networks you create can also be deployed to Hyperledger Fabric runtimes in other environments e.g. on a cloud platform.
Before you begin
Make sure you have installed the required pre-requisites, following the instructions in Installing pre-requisites.
These instructions assume that you've not installed the tools and used them before. If this is not the case, you might want to check that your previous setup is completely destroyed before you start following this guide. To learn how to do this, skip to the Appendix.
To provide flexibility and enable the maximum number of dev, test and deployment scenarios, Composer is delivered as a set of components you can install with
npmand control from the CLI. These instructions will tell you how to install everything first, then how to control your development environment.
Step 1: Install the CLI tools
There are a few useful CLI tools for Composer developers. The most important one is
composer-cli, which contains all the essential operations, so we'll install that first. Next, we'll also pick up
Yeoman plus the
generator-hyperledger-composer. Those last 3 are not core parts of the development environment, but they'll be useful if you're following the tutorials or developing applications that interact with your Business Network, so we'll get them installed now.
Note that you should not use
sudo for the following npm commands.
Essential CLI tools:
npm install -g email@example.com
Utility for running a REST Server on your machine to expose your business networks as RESTful APIs:
npm install -g firstname.lastname@example.org
Useful utility for generating application assets:
npm install -g email@example.com
Yeoman is a tool for generating applications, which utilises
npm install -g yo
Step 2: Install Playground
If you've already tried Composer online, you'll have seen the browser app "Playground". You can run this locally on your development machine too, giving you a UI for viewing and demonstrating your business networks.
Browser app for simple editing and testing Business Networks:
npm install -g firstname.lastname@example.org
Step 3: Set up your IDE
Whilst the browser app can be used to work on your Business Network code, most users will prefer to work in an IDE. Our favourite is
VSCode, because a Composer extension is available.
Install VSCode from this URL: https://code.visualstudio.com/download
Open VSCode, go to Extensions, then search for and install the
Hyperledger Composerextension from the Marketplace.
Step 4: Install Hyperledger Fabric
This step gives you a local Hyperledger Fabric runtime to deploy your business networks to.
In a directory of your choice (we will assume
~/fabric-dev-servers), get the
.tar.gzfile that contains the tools to install Hyperledger Fabric:
mkdir ~/fabric-dev-servers && cd ~/fabric-dev-servers curl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.tar.gz tar -xvf fabric-dev-servers.tar.gz
zipis also available if you prefer: just replace the
tar -xvfcommand with a
unzipcommand in the preceding snippet.
Use the scripts you just downloaded and extracted to download a local Hyperledger Fabric v1.1 runtime:
cd ~/fabric-dev-servers export FABRIC_VERSION=hlfv11 ./downloadFabric.sh
Congratulations, you've now installed everything required for the typical Developer Environment. Read on to learn some of the most common things you'll do with this environment to develop and test your Blockchain Business Networks.
Controlling your dev environment
Starting and stopping Hyperledger Fabric
You control your runtime using a set of scripts which you'll find in
~/fabric-dev-servers if you followed the suggested defaults.
The first time you start up a new runtime, you'll need to run the start script, then generate a PeerAdmin card:
cd ~/fabric-dev-servers export FABRIC_VERSION=hlfv11 ./startFabric.sh ./createPeerAdminCard.sh
You can start and stop your runtime using
~/fabric-dev-servers/stopFabric.sh, and start it again with
At the end of your development session, you run
~/fabric-dev-servers/stopFabric.sh and then
~/fabric-dev-servers/teardownFabric.sh. Note that if you've run the teardown script, the next time you start the runtime, you'll need to create a new PeerAdmin card just like you did on first time startup.
The local runtime is intended to be frequently started, stopped and torn down, for development use. If you're looking for a runtime with more persistent state, you'll want to run one outside of the dev environment, and deploy Business Networks to it. Examples of this include running it via Kubernetes, or on a managed platform such as IBM Cloud.
Start the web app ("Playground")
To start the web app, run:
It will typically open your browser automatically, at the following address: http://localhost:8080/login
You should see the
PeerAdmin@hlfv1 Card you created with the
createPeerAdminCard script on your "My Business Networks" screen in the web app: if you don't see this, you may not have correctly started up your runtime!
Congratulations, you've got all the components running, and you also know how to stop and tear them down when you're done with your dev session.
- Learn how to use the web app UI with the Playground Tutorial
- Learn how to use the CLI and VSCode tools with the Developer Tutorial
Appendix: destroy a previous setup
If you've previously used an older version of Hyperledger Composer and are now setting up a new install, you may want to kill and remove all previous Docker containers, which you can do with these commands:
docker kill $(docker ps -q) docker rm $(docker ps -aq) docker rmi $(docker images dev-* -q)