目录

一、使用Docker快速运行Fabric网络

1、环境配置

        1.1、操作系统安装

        1.2、安装go语言环境

        1.3、安装依赖包

2、安装Docker服务

3、安装docker-compose

二、启动Fabric网络

1、准备工作

2、开始运行test-network测试网络

3、运行first-network(end-to-end测试)

三、总结(错误整理)


一、使用Docker快速运行Fabric网络

1、环境配置

        1.1、操作系统安装

        1.2、安装go语言环境

        如下载go 1.17.5采用如下命令,然后解压目录        

curl -O https://dl.google.com/go/go1.17.5.linux-amd64.tar.gz
tar -zxvf go1.17.5.linux-amd64.tar.gz

        移动到合适位置

sudo mv go /usr/local

        配置GOPATH环境变量

export GOPATH=/usr/Go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

        可以通过go version命令验证安装是否成功

go version

        go version go1.17.5 linux/amd64

配置GOPROXY

go env -w GOPROXY=https://goproxy.cn,direct

        1.3、安装依赖包

        编译Fabric代码依赖一些开发库

        注:CentOS使用yum安装 :yum -y install 

sudo apt-get update \
&& apt-get install -y libsnappy-dev zliblg-dev libbz2-dev libyaml-dev libltdl-dev libtool

2、安装Docker服务

        Fabric目前使用Docker容器作为链码执行环境,因此即使在本地运行,链码服务器上也要安装Docker环境

curl -fsSL https://get.docker.com/ | sh

        设置开机自动启动docker

chkconfig docker on

        依次执行如下命令,配置国内源

vim /etc/docker/daemon.json
{
    "registry-mirrors": ["http://f1361db2.m.daocloud.io","https://hub-mirror.c.163.com","https://xsoeja86.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker

3、安装docker-compose

        下载 docker-compose 到 /usr/local/bin/docker-compose 目录下

curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

        设置/usr/local/bin/docker-compose目录权限为可执行

chmod +x /usr/local/bin/docker-compose

二、启动Fabric网络

1、准备工作

创建文件夹

cd                  #cd 不加内容是默认返回Home文件夹
mkdir -p go/src/github.com/hyperledger/
#进入刚刚创建的文件夹内
cd go/src/github.com/hyperledger/

从github上拉取fabric的源码

git clone "https://github.com/hyperledger/fabric.git"
cd fabric/
cd scripts/
#这一步会下载官方的例子以及所需要的Docker镜像
#下载是比较慢的,如果出现错误或者长时间没有速度只需要重新运行就可以了
sudo ./bootstrap.sh

可能由于二进制文件无法下载,导致下载失败,可通过修改bootstrap.sh文件,将二进制文件禁止通过bootstrap.sh下载;并前往  Release v2.0.0 · hyperledger/fabric · GitHub  手动下载二进制文件;后将其解压放入 fabric-samples 文件夹中。

还有一点值得注意的是,bootstrap.sh 中设定的 version 应该与二进制文件版本一致

2、开始运行test-network测试网络

全部下载完成后,会多出一个fabric-samples文件夹,这是个测试网络样例可以让你体验或者测试。

切换到fabric-samples文件夹:

cd fabric-samples

切换到test-network:

cd test-network/

启动测试网络:

sudo ./network.sh up

3、运行first-network(end-to-end测试)

首先进入到fabric-sample目录下,然后进入first-network文件夹

cd first-network

运行文件byfn.sh

./byfn.sh up

first-network启动,orderer和peer节点启动后,开始执行end-to-end测试

-----若顺利执行,如下图所示-----

fabric不用docker部署 fabric 部署_linux

测试自动进行,依次经过:

创建通道

fabric不用docker部署 fabric 部署_docker_02

节点加入通道

fabric不用docker部署 fabric 部署_docker_03

更新锚节点信息

fabric不用docker部署 fabric 部署_Docker_04

 执行链码相关测试(安装、实例化、调用)

等...

成功完成所有测试后,如下图所示:

fabric不用docker部署 fabric 部署_fabric不用docker部署_05

三、总结(错误整理)

        整个安装、测试并不顺利,尤其以 end-to-end test 错误频出