Ubuntu16.04 搭建 hyperledger fabric 1.4.4 环境
本文的环境搭建步骤与fabric官方文档保持一致,fabric1.4.x官方文档。
如文档所述,在建立你的第一个区块链网络时,需要提前完成如下准备工作:
1、软件的安装(各个软件安装的版本号,需满足官方文档所示的最低要求):
(1)cURL
(2)Docker 和 Docker Compose
(3)Go
(4)Node.js 和 NPM
2、官方案例、二进制文件、配置文件、Docker镜像的下载
至此,如若完成上述的安装、下载步骤,即可运行官方的测试案例。官方测试网络是由两个组织,每个组织中两个节点构成,测试所用的共识算法为单节点Solo排序。
下面我将逐一演示上述步骤
Start
cURL的安装
根据本人多次搭建区块链网络的经验,对cURL的安装版本要求并不高,官方文档中也只提及到了安装最新版本(咱也不清楚它所述的最新本版本是指fabric1.4.4发布时的cURL最新版本,还是现在的最新版本,应该是前者)。反正我每次安装的都是Ubuntu系统中默认的版本(实测,可用),具体命令如下:
1、更新apt包索引
$ sudo apt update
2、cURL的安装
sudo apt install curl
随后会提示你输入用户密码(如果你是以普通用户身份来运行终端而不是root),如下所示:
![]()
用户密码输入完成后,系统会再次提示你,具体如下所示:

输入y(大小写都ok),然后回车,即可完成cURL的安装。
3、版本的查看
$ curl --version
输出:

Docker和Docker Compose的安装
详见我之间的文章:docker和docker compose的安装,步骤已经非常详细了,此处不再赘述
后期有空的话,我会将其整理至一起
Go、Node.js、 NPM的安装
详见之前的文章:Go、Node、Npm、Npx的安装,此处不再赘述
Python的安装
官方文档中提到了这一部分,但之所以没有列入软件安装的清单中,是因为Ubuntu系统中内置了Python,不需要我们再进行安装。
查看版本信息:
$ python --version
官方案例的下载
1、在~/gowork/src路径下创建文件目录、切入到文件目录、克隆官方案例源码:
$ mkdir -p github.com/hyperledger
$ cd github.com/hyperledger
$ git clone https://github.com/hyperledger/fabric-samples.git
2、源码版本的切换,以切换至v1.4.4为例
jianyuzhi@ubuntu:~/gowork/src/github.com/hyperledger/fabric-samples$ git checkout v1.4.4
注意:命令执行的路径
3、检查源码版本是否切换成功
$ git branch
输出:
![]()
二进制文件、配置文件、镜像的下载
这几个步骤最为关键,也是最容易出错的地方,官方文档仅给出了一行脚本用于这一步的操作(如下图框框内所示),但由于国内网络的原因,通常情况下不能够顺利执行。因此本文将分步、手动执行相应步骤。

二进制文件的制作
二进制文件通过编译fabric源码的方式进行制作,详细说明可参考:二进制文件的制作
1、下载fabric源码(在~/gopath/src/github.com/hyperledger目录下进行)
$ git clone https://github.com/hyperledger/fabric.git
2、下载fabric-ca源码(操作路径同上)
$ git clone https://github.com/hyperledger/fabric-ca.git
下载完成后,hyperledger目录下将会有如下文件夹:

3、源码版本的切换
切入到每一个文件夹下,执行下述命令
$ git checkout v1.4.4
4、二进制文件的制作
(1)切换至fabric目录下,执行源码的编译
$ cd fabric
$ make release
输出:

编译好的二进制文件位于~/gopath/src/github.com/hyperledger/fabric/release/linux-am64/bin文件夹下,具体如下图所示:

(2)切换至fabric-ca文件夹,执行源码的编译
$ cd fabric-ca
$ make fabric-ca-client
$ make fabric-ca-server
编译好的二进制文件位于 fabric-ca/bin目录下,具体如下图所示:

至此,二进制文件的获取工作算是结束了,共得到了9个二进制文件,与官方文档中所要求的二进制文件一致,具体如下图所示:

(3)将所有的二进制文件复制到 fabric-samples文件夹下的bin文件夹中(没有bin文件夹就自行创建),为后期的区块链网络的运行做准备
操作完成后会得到:

5、配置文件的获取
将fabric文件夹下的sampleconfig文件夹移动到fabric-samples中,并命名为config
可以得到:

6、镜像的下载
在fabric/scripts目录下执行:
$ sudo ./bootstrap.sh 1.4.4 -b -s
完成fabric的docker镜像下载。
官方测试网络的启动(好激动🤩)
下述命令,均在fabric-samples/first-network路径下执行
1、网络证书的生成
$ ./byfn.sh generate
2、区块链网络的启动
$ ./byfn.sh up
输出:


End
接下来的工作
1、将pbft共识算法加入到现有的fabric网络中
因为pbft共识算法自fabric v0.6版本后就取消了,但在网络上看到有人成功的将pbft共识算法加入到fabric v1.x v2.x,因此决定在后期尝试下
2、搭建hyperledgerCaliper(之前搭建过,测试的区块链网络用的是solo共识算法,没什么实用价值,达不到毕业设计的目标),通过该项目测试运用了pbft排序的区块链网络性能
路还很长呐~
若搭建成功,我将会继续更新相应的文章
有兴趣的朋友,可以在评论区尽情的交流,相互学习,共同进步
更多推荐


所有评论(0)