Hyperledger Fabric 部署
阅读原文时间:2022年04月15日阅读:1

Hyperledger Fabric 部署

Hyperledger Fabric需要使用Docker、Go环境。

Docker环境安装 直接查看这一篇,安装好之后将当前用户非root添加到Docker用户组中

#创建docker用户组
sudo groupadd docker

#将当前用户添加到docker用户组
sudo usermod -aG docker cigod

我们直接在GO官网下载安装包上传到服务器中,然后解压文件配置一下环境变量。

# 解压go文件
tar zxvf go*.tar.gz

# 移动go文件目录
mv go/ /usr/local/

配置环境变量

# 编辑环境配置
vim /etc/profile

#GOROOT 路径是软件安装路径
export GOROOT=/usr/local/go

#GOPATH 路径是平时我们的工作路径,go项目放置在这个目录下
export GOPATH=$HOME/go

#添加到环境变量
export PATH=$PATH:$GOPATH/bin

#退出编辑之后重启一下配置文件
. /etc/profile

#查看go版本
go version

我们可以使用git拉取代码或者直接在Github下载文件

# 进入当前用户文件夹
cd $HOME

#创建文件夹
mkdir -p go/src/github.com/hyperledger/

#进入创建的文件夹
cd go/src/github.com/hyperledger/

#Github拉取代码
git clone "https://github.com/hyperledger/fabric.git"

#进入项目
cd fabric/

#因为Fabric有很多版本这里我们使用2.0版本,切换一下版本
git checkout release-2.0

#进入scripts下载必备的文件
cd scripts/

#执行这个脚本之后就会自动下载我们需要的文件和Docker镜像
#但是会很慢我的服务器下了一天还失败了
sudo ./bootstrap.sh

因为自己一直失败硬着头皮上,我先下载了这个脚本文件看里面具体是做什么东西的,就是下载对应版本的文件和Docker镜像。卡主要就是卡在了下载文件。

#该命令会下载所需的 docker 镜像
./bootstrap.sh -s -b

然后我们直接翻墙下载其他两个文件注意:根据自己查看bootstrap.sh文件得到相应版本号,从而修改地址其中的版本号

https://github.com/hyperledger/fabric-samples/archive/v2.0.0.zip

上面fabric-samples下载之后放入/root/go/src/github.com/hyperledger/fabric/scripts中

#修改fabric-samples文件名
mv fabric-samples-2.0.0 fabric-samples

当下面两个文件下载完之后放入上面fabric-samples目录中进行解压,会生成bin目录下面存放的都是一些生成fabric网络所需的工具

https://github.com/hyperledger/fabric/releases/download/v2.2.0/hyperledger-fabric-linux-amd64-2.0.0.tar.gz

https://github.com/hyperledger/fabric-ca/releases/download/v1.4.7/hyperledger-fabric-ca-linux-amd64-1.4.4.tar.gz

#进入first-network文件夹
cd ~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/first-network/

#执行命令 这个脚本主要是启动Docker容器镜像,部署通道、节点、证书、链码
./byfn.sh up

#执行命令 网络全部关闭
./byfn.sh down

部署Hyperledger Fabric报错Error: error getting chaincode bytes: failed to calculate dependencies: incomplete package: github.com/hyperledger/fabric-chaincode-go/shim

#go env

换成国内的就可以了

#替换依赖包下载地址
go env -w GOPROXY=https://goproxy.cn
export GOPROXY=https://goproxy.cn

启动脚本的时候出现这个画面说明已经成功了,我们看启动过程的时候可以看到,脚本帮我走了一个完整的流程。