00 导言
在上上讲《Fabric 环境搭建时bootstrap.sh帮我们做了什么?》中,我们知道bootstrap.sh帮我们做了三件事:
1. 从github上克隆 hyperledger/fabric-samples并进入该目录,然后检出适当的版本
2. 在fabric-samples目录下安装特定平台的 Hyperledger Fabric 二进制可执行文件 和配置文件
3.下载 指定版本的Hyperledger Fabric 的docker镜像
其中第二件事是执行curl去下载tar包并解压:
$ curl https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.2.0/hyperledger-fabric-linux-amd64-1.2.0.tar.gz
$ curl https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric-ca/hyperledger-fabric-ca/linux-amd64-1.2.0/hyperledger-fabric-ca-linux-amd64-1.2.0.tar.gz
这两个tar包里面包含了下面这些二进制文件和一个脚本文件:
- configtxgen
- configtxlator
- cryptogen
- discover
- idemixgen
- orderer
- peer
- fabric-ca-client
- get-docker-images.sh
其实,这些二进制文件我们也可以通过编译fabric和fabric-ca的源码得到。下面我们就来说说怎么编译得到它们。
01 下载fabric源码
用git把fabric源码从github上克隆下来
$ mkdir -p $GOPATH/src/github.com/hyperledger
$ cd $GOPATH/src/github.com/hyperledger
$ git clone https://github.com/hyperledger/fabric.git
02 编译fabric源码
编译之前请确保系统中已经安装了Go语言运行环境和正确的配置了环境变量。然后执行make release编译。
$ cd fabric
$ make release
Building release/linux-amd64/bin/configtxgen for linux-amd64
mkdir -p release/linux-amd64/bin
CGO_CFLAGS=" " GOOS=linux GOARCH=amd64 go build -o /home/blockchain/go/src/github.com/hyperledger/fabric/release/linux-amd64/bi