本文的环境搭建步骤与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排序的区块链网络性能

路还很长呐~

若搭建成功,我将会继续更新相应的文章

有兴趣的朋友,可以在评论区尽情的交流,相互学习,共同进步

更多推荐