本文介绍如何安装最新的Hyperledger Fabric 2.0的预编译程序、fabric-samples示例配置和代码以及docker镜像。
Hyperledger Fabric区块链开发教程:
1、安装预编译的Hyperledger Fabric 2.0应用程序
Hyperledger Fabric官方提供了以下2.0版本的预编译程序:
- configtxgen:用于生成Fabric创世区块初始或更新配置文件
- configtxlator:用于编解码Fabric区块链配置文件
- cryptogen:用于快速生成节点、用户、客户端等所需的证书和密钥文件
- discover:用于Fabric网络的服务发现
- idemixgen:很少用到
- orderer:Fabric排序节点程序
- peer:Fabric对等节点程序
- fabric-ca-client:Fabric-CA服务程序的客户端,用于注册和添加用户
首先创建一个Hyperledger Fabric 2.0的专用目录,然后进入
该目录:
~$ mkdir hubwiz-hf2
~$ cd hubwiz-hf2
~/hubwiz-hf2$
在linux或mac环境下使用如下的命令下载Hyperledger Fabric 2.0的预编译应用:
~/hubwiz-hf2$ curl -sSL https://bit.ly/2ysbOFE | bash -s -d -- 2.0.0 1.4.4 0.4.18
其中参数说明如下:
- 2.0.0:表示Hyperledger Fabric的版本号
- 1.4.4:表示Fabric CA的版本号
- 0.4.18:表示第三方引用的版本号
上述命令执行后,在当前目录的bin
子目录下你就可以看到上述程序了:
~/huwbiz-hf2$ ls bin
别忘了设置PATH
环境变量,例如在.bashrc
末尾添加:
export PATH=$HOME/hubwiz-hf2/bin:$PATH
可以使用如下命令验证Hyperledger Fabric预编译程序安装成功:
~$ orderer version
正常的话,会看到输出orderer排序节点程序的版本号为:2.0.0。
2、安装Hyperledger Fabric 2.0示例程序代码
在Hyperledger Fabric 2.0目录中执行如下命令安装官方提供的示例代码:
~/hubwiz-hf2$ git clone https://github.com/hyperledger/fabric-samples
上述命令将克隆官方仓库https://github.com/hyperledger/fabric-samples
的主分支,因此你需要在本机安装有git
程序。
使用如下命令查看并验证fabric-samples安装成功:
~/hubwiz-hf2$ tree fabric-samples -L 1 -d
正常的话,应该看到如下的输出显示:
fabric-samples
|- basic-network
|- chaincode-docker-devmode
|- chaincode
|- ci
|- commercial-paper
|- docs
|- fabcar
|- first-network
|- high-throughput
|- interest_rate_swaps
|- off_chain_data
|- scripts
|- test-network
在Hyperledger Fabric 2.0的fabric-sample中,最主要的变化
是引入了一个新的测试网络test-network
,它同时支持使用cryptogen
和fabric-ca
来生成部署网络所需的密码学资料。
3、预下载Hyperledger Fabric 2.0的docker镜像
可以使用如下命令预下载Hyperledger Fabric 2.0的docker镜像,
这样在进行后续的测试时,会减少一些等待时间。
~/hubwiz-hf2$ curl -sSL https://bit.ly/2ysbOFE | bash -s -b -- 2.0.0 1.4.4 0.4.18
由于上述脚本使用docker pull
拉取一批镜像,例如peer、orderer等,
因此在本地机器上需要先安装docker。
4、使用test-network测试Hyperledger Fabric 2.0
进入fabric-samples目录启动Hyperledger Fabric 2.0新增加的测试网络test-network:
~/hubwiz-hf2$ cd fabric-samples/test-network
~/hubwiz-hf2/fabric-samples/test-network$ ./network.sh up
一切顺利的话,可以看到如下输出:
Creating network "net_test" with the default driver
Creating volume "net_orderer.example.com" with default driver
Creating volume "net_peer0.org1.example.com" with default driver
Creating volume "net_peer0.org2.example.com" with default driver
Creating orderer.example.com ... done
Creating peer0.org2.example.com ... done
Creating peer0.org1.example.com ... done
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8d0c74b9d6af hyperledger/fabric-orderer:latest "orderer" 4 seconds ago Up Less than a second 0.0.0.0:7050->7050/tcp orderer.example.com
ea1cf82b5b99 hyperledger/fabric-peer:latest "peer node start" 4 seconds ago Up Less than a second 0.0.0.0:7051->7051/tcp peer0.org1.example.com
cd8d9b23cb56 hyperledger/fabric-peer:latest "peer node start" 4 seconds ago Up 1 second 7051/tcp, 0.0.0.0:9051->9051/tcp peer0.org2.example.com
恭喜!你的Hyperledger Fabric 2.0已经安装成功了!