2.1 下载Fabric源码
创建源码存放的目录,本文将源码存放在/usr/local/src/hyperleger目录中,如读者机器上没有该目录需要执行以下命令手动创建:
sudo mkdir -p /usr/local/src/hyperleger
进入到该目录,使用git从github上下载fabric的源码,并切换到release-2.0的分支。
cd /usr/local/src/hyperleger
sudo git clone https://github.com/hyperledger/fabric.git
sudo git checkout release-2.0
在我们刚才下载的源码中,有一个非常重要的脚本bootstrap.sh,它能帮助我们完成后面的下载工作。
图片1.png接下来的下载工作有两种方式实现:
(1) 运行bootstrap.sh脚本实现一键下载,但是这种方式由于网络原因导致执行效率不高,可以使用nohup和&不挂断的运行该脚本;
(2) 手动完成后续下载工作,该方式更灵活,而且便于读者了解搭建Fabric平台必要的组件信息。
本节将采用第2种方式完成后面的组件下载工作。
2.2 下载Fabric的docker镜像
本文将以docker的形式启动fabric平台,因此这里需要下载fabric网络各组件的docker镜像。
Fabric的docker镜像下载我们这里仍然使用bootstrap.sh脚本实现(如果对docker操作熟悉的同学也可以直接使用docker命令下载),通过脚本参数设置使该脚本只下载Fabric的docker镜像。执行如下命令:
cd /usr/local/src/hyperleger/fabric/scripts
sudo ./bootstrap.sh 2.0.0 -b -s
查看安装结果,执行命令:
docker images
该下载过程即使设置了阿里云的镜像加速也需要消耗一些时长,镜像下载成功则显示下图中的镜像列表信息。
图片2.png2.3 下载Fabric示例代码
Fabric的示例代码包含:测试链码、first-network和test-network两个测试网络及其对应的配置文件和启动脚本,非常具有参考意义。本节将启动first-network网络。
Fabric的示例代码使用git命令下载。
cd /usr/local/src/hyperleger/fabric/scripts
sudo git clone https://github.com/hyperledger/fabric-samples.git
# 切换版本
sudo git checkout v2.0.0
下载成功后,scripts目录下将生成一个fabric-samples目录,如下图所示:
图片3.png2.4 下载Fabric部署所需的二进制文件
本节所需的二进制文件实际是可以通过编译fabric源码获得,bootstrap.sh则是直接从github下载压缩包,无论是编译还是从github下载,失败率较高。这里我将提供百度网盘地址,供读者下载,更靠谱一些。
地址:https://pan.baidu.com/s/1pX8Y9p3eBIK6GWi5ISNEZw,提取码:ba2k
把下载的文件解压到/usr/local/src/hyperleger/fabric/scripts/fabric-samples目录中,执行命令:
tar -zxvf hyperledger-fabric-linux-amd64-2.0.0.tar.gz -C /usr/local/src/hyperleger/fabric/scripts/fabric-samples/
解压成功后fabric-samples目录将生成bin和config两个目录,如下图所示:
图片4.pngbin目录中包含7个可执行程序,当fabric网络启动时将被调用。
图片5.pngconfig目录包含3个配置文件,用于对fabric网络的配置。
图片6.png2.5 下载Fabric-ca二进制文件
本节所需的二进制文件实际是可以通过编译fabric源码获得,bootstrap.sh则是直接从github下载压缩包,无论是编译还是从github下载,失败率较高。这里我将提供百度网盘地址,供读者下载,更靠谱一些。
地址:https://pan.baidu.com/s/1pX8Y9p3eBIK6GWi5ISNEZw,提取码:ba2k
把下载的文件解压到/usr/local/src/hyperleger/fabric/scripts/fabric-samples目录中,执行命令:
tar -zxvf hyperledger-fabric-ca-linux-amd64-1.4.6.tar.gz -C /usr/local/src/hyperleger/fabric/scripts/fabric-samples/
解压成功后bin目录中将增加2个可执行程序,如下图所示:
图片7.png将上述bin目录加入环境变量PATH中,否则在部署通道部署代码时会出现错误。
# 设置环境变量
sudo vim /etc/profile
# 将以下内容追加到文件末尾
export FABRIC_SAMPLE=/usr/local/src/hyperleger/fabric/scripts/fabric-samples
export PATH=$GOROOT/bin:$FABRIC_SAMPLE/bin:$PATH
# 使环境变量生效
source /etc/profile
2.6 启动first-network网络
启动first-network网络,执行如下命令:
cd /usr/local/src/hyperleger/fabric/scripts/fabric-samples/first-network
sudo ./byfn.sh up
Tips:byfn是build your first network的简写。
从脚本执行的日志可以看出,first-network网络由10个容器服务组成,包括:5个排序节点服务,4个peer节点服务和1个cli服务。
容器服务启动之后,休眠15s构建排序节点服务集群,构建完成之后,开始进行链码打包、安装、实例化、调用测试。
命令执行成功显示结果如下图所示:
图片8.png查看容器运行情况,执行命令:
docker ps
停止网络,执行命令:
sudo ./byfn.sh down
至此,我们的第一个fabric网络就启动了。各位读者如果有时间一定要仔细阅读byfn.sh脚本,该脚本实现了启动一个网络,并完成链码调用测试的整个过程。
文章作者:xiaohui249
本文链接:http://javatech.wang/index.php/archives/138/
版本所有 ©转载时必须以链接形式注明作者和原始出处
本文由博客群发一文多发等运营工具平台 OpenWrite 发布
网友评论