2017-12-19 14:40:39 +08:00
# Hyperledger Fabric Playground
2016-07-23 17:09:42 +08:00
2017-01-04 14:54:05 +08:00
This project provides several useful Docker-Compose script to help quickly bootup a Hyperledger Fabric network, and do simple testing with deploy, invoke and query transactions.
2016-07-23 17:09:42 +08:00
2018-10-11 13:53:01 +08:00
Currently we support Hyperledger Fabric all releases from v0.6 to latest v1.x.
2016-12-08 16:03:52 +08:00
2017-05-10 11:57:19 +08:00
If you're not familiar with Docker and Blockchain, can have a look at these books (in CN):
2016-12-08 17:20:35 +08:00
* [Docker Practice ](https://github.com/yeasy/docker_practice )
* [Blockchain Guide ](https://github.com/yeasy/blockchain_guide )
2017-12-19 14:40:39 +08:00
## Supported Fabric Releases
Fabric Release | Description
--- | ---
2018-10-11 13:53:01 +08:00
[Fabric Latest ](latest/ ) | latest fabric code, unstable.
2019-07-20 11:36:40 +08:00
[Fabric v1.4.2 ](v1.4.2/ ) | stable fabric 1.4.2 release.
[Fabric v1.4.0 ](v1.4.0/ ) | stable fabric 1.4.0 release.
2018-10-11 13:53:01 +08:00
[Fabric v1.3.0 ](v1.3.0/ ) | stable fabric 1.3.0 release.
[Fabric v1.2.0 ](v1.2.0/ ) | stable fabric 1.2.0 release.
[Fabric v1.1.0 ](v1.1.0/ ) | stable fabric 1.1.0 release.
2018-04-03 09:17:48 +08:00
[Fabric v1.0.6 ](v1.0.6/ ) | fabric v1.0.6 release.
2018-10-11 13:53:01 +08:00
[Fabric v1.0.0 ](v1.0.0/ ) | fabric v1.0.0 release.
[Fabric v0.6.0 ](v0.6.0/ ) | fabric v0.6.0 release (too old, not recommend to use).
2017-12-19 14:40:39 +08:00
2016-09-14 16:58:02 +08:00
2017-11-02 10:19:05 +08:00
## Getting Started
2017-09-01 21:27:02 +08:00
2018-07-04 17:16:42 +08:00
### TLDR
2019-03-12 11:29:04 +08:00
```bash
2019-07-20 11:36:40 +08:00
$ export RELEASE=v1.4.2
2019-03-12 11:29:04 +08:00
```
2018-07-04 17:16:42 +08:00
```bash
2018-10-11 13:53:01 +08:00
$ cd ${RELEASE}; make setup test
2018-07-04 17:16:42 +08:00
```
2018-10-11 13:53:01 +08:00
More details are releaved below.
2017-12-07 13:55:24 +08:00
### Pick up a fabric version
2017-12-06 22:30:57 +08:00
2018-10-11 13:53:01 +08:00
Enter the subdir of specific version and setup, e.g.,
2017-12-06 22:30:57 +08:00
2017-11-02 10:19:05 +08:00
```bash
2018-10-11 13:53:01 +08:00
$ cd ${RELEASE} # select a fabric version
$ make setup download # Install docker/compose, and pull required images
2017-11-02 10:19:05 +08:00
```
2017-10-06 14:47:32 +08:00
2017-12-07 13:55:24 +08:00
### Quick Test
2017-11-02 10:19:05 +08:00
2017-12-07 13:55:24 +08:00
The following command will run the entire process (start a fabric network, create channel, test chaincode and stop it.) pass-through.
2017-10-06 14:47:32 +08:00
2017-12-07 13:55:24 +08:00
```bash
$ make test # Test with default fabric solo mode
```
2019-01-09 17:08:03 +08:00
[Prometheus ](https://prometheus.io ) dashboard listens at [http://localhost:9090 ](http://localhost:9090 ) to track the network statistics.
2017-12-07 13:55:24 +08:00
### Test with more modes
```bash
2017-12-19 14:40:39 +08:00
$ HLF_MODE=solo make test # Bootup a fabric network with solo mode
$ HLF_MODE=couchdb make test # Enable couchdb support, web UI is at `http://localhost:5984/_utils`
2017-12-07 13:55:24 +08:00
$ HLF_MODE=event make test # Enable eventhub listener
2017-12-19 14:40:39 +08:00
$ HLF_MODE=kafka make test # Bootup a fabric network with kafka mode
$ HLF_MODE=be make test # Start a blockchain-explorer to view network info
2017-12-07 13:55:24 +08:00
```
2017-12-19 14:40:39 +08:00
## Detailed Steps
2017-12-07 13:55:24 +08:00
See [detailed steps ](docs/steps.md )
2019-03-12 11:29:04 +08:00
## Specify Version Numbers
* `.env` : docker images tags, used by those docker-compose files;
* `scripts/variable.sh` : docker images tags and project versions, used by scripts;
2017-12-07 13:55:24 +08:00
## Acknowledgement
2017-12-19 14:40:39 +08:00
2017-12-07 13:55:24 +08:00
* [Hyperledger Fabric ](https://github.com/hyperledger/fabric/ ) project.