记录一次fabric国密版本节点搭建过程

1、下载fabric国密版本源码
源码地址:https://github.com/dddengyunjie/fabric
(源码是一位大神的,博客地址https://blog.csdn.net/dyj5841619/article/details/90670703,有详细修改国密过程,可以跟着流程自行尝试修改源码)
该版本为:fabric v1.4.1
在Linux上创建目录:mkdir -p /opt/gopath/src/github.com/hyperledger/
将fabric源码上传、解压到hyperledger目录下。

2、编译源码
cd fabric 进入项目根目录。
make release开始编译源码,在编译的时候会出现异常,基本的都是缺少依赖库,因为golang.org下的库需要才能下载,所以这里需要手动下载依赖库。

异常示例:

package golang.org/x/crypto: unrecognized import path "golang.org/x/crypto" (https fetch: Get https://golang.org/x/crypto?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

对于golang.org/x/下的库,在GitHub都有源存在,我们需要进行收到下载。
下载步骤:

mkdir -p $GOPATH/src/golang.org/x (关键,必须在目录上对应)
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/crypto.git 下载需要的库
git clone https://github.com/golang/sys.git(根据需要对应*.git,即可进行下载)

记录一次fabric国密版本节点搭建过程_第1张图片
注意:这里最好把下载的库,复制到fabric/vendor/golang.org/x/目录下,因为发现在生产镜像时,不会去GOPATH下边去找依赖。

再次进行编译即可make release
当编译通过后会在release/linux-amd64/bin/ 目录下生产所需工具。
记录一次fabric国密版本节点搭建过程_第2张图片
3、生成镜像

mkdir -p $GOPATH/src/github.com/maxbrunsfeld
$ cd $GOPATH/src/github.com/maxbrunsfeld
$ git clone https://github.com/maxbrunsfeld/counterfeiter.git
$ go install ./counterfeiter
$ apt install -y bzip2

出现异常:

cp: cannot stat 'build/docker/gotools/bin/protoc-gen-go': No such file or directory(找不到protoc-gen-go文件)

解决:将$GOPATH/bin下面protoc-gen-go的复制过去

在fabric根目录下执行命令make docker 即可,如果出现异常,基本上都是缺少依赖库,请根据步骤2进行。过程中会出现一些红色日志,只要不退出生产镜像过程,都没事。
生产的镜像如图所示:docker images
记录一次fabric国密版本节点搭建过程_第3张图片4、运行实例
该fabric版本是1.4.1,在example目录下没有e2e_cli文件夹,这里需要手动上传,将fabric1.2.0版本中的e2e_cli文件夹上传,进行相应修改。
cd e2e_cli 进入e2e_cli目录,执行./network_setup.sh up。
出现END-E2E字样表示运行成功。
记录一次fabric国密版本节点搭建过程_第4张图片

你可能感兴趣的:(fabric)