Fabric 1.4国密单机部署并测试

Fabric 1.4国密单机部署并测试

主要用来记录安装的辛酸历程,希望后面的人不用花这么多时间去找报错

感谢这篇的大佬,主要参考:https://blog.csdn.net/weixin_39430411/article/details/107939859

一、系统环境

系统版本 : Ubuntu 22.04.2 LTS

环境变量

go version # go version go1.17.5 linux/amd64
docker version # Version:20.10.21
docker-compose version # version 1.27.4
git version # git version 2.34.1

二、下载源码

1、创建目录

mkdir -p $GOPATH/src/github.com/hyperledger

2、下载

注意,项目的目录结构一定是这样的

cd $GOPATH/src/github.com/hyperledger
git clone https://github.com/dddengyunjie/fabric

三、安装依赖

1、golang.org/x 下的依赖
这里需要下载如下两个库:

mkdir -p $GOPATH/src/golang.org/x
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/crypto.git -b internal-branch.go1.17-vendor
git clone https://github.com/golang/sys.git -b internal-branch.go1.17-vendor

2、构建protoc-gen-go工具

cd $GOPATH/src
mkdir golang
cd golang
git clone https://github.com/golang/protobuf.git
cd protobuf/protoc-gen-go/
go build
go install
ls $GOPATH/bin

3、构建mockery工具(后续好像没有用到)

mkdir -p $GOPATH/src/github.com/vektra
cd $GOPATH/src/github.com/vektra
git clone --branch v1.1.2 https://github.com/vektra/mockery.git
cd mockery/cmd/mockery
go install mockery.go
ls $GOPATH/bin

四、替换源码中脚本中失效url

1、Makefile
切换到工程目录

cd $GOPATH/src/github.com/hyperledger/fabric
vim Makefile

需要将CHAINTOOL_URL的值替换为:

https://hyperledger.jfrog.io/hyperledger/fabric-maven/org/hyperledger/fabric-chaintool/$(CHAINTOOL_RELEASE)/fabric-chaintool-$(CHAINTOOL_RELEASE).jar

2、gotools.mk

go.fqp.mockery := github.com/vektra/mockery/cmd/mockery 这一行改为go.fqp.mockery := github.com/vektra/mockery/cmd

3、images/tools/Dockerfile.in

需要在apt-get前面添加这一句话,不然他在install的时候发起对话,但是你没法响应会报错

ENV DEBIAN_FRONTEND noninteractive

五、编译二进制文件

chmod +x scripts/*.sh
make release

如果缺包的话,就按照上面的crypto和sys的方式添加就好

六、编译镜像

make docker

如果提示缺少包的话,可以从之前下载的里面复制

mkdir -p vendor/golang.org/x/crypto/internal/
cp -r $GOPATH/src/golang.org/x/crypto/chacha20poly1305 vendor/golang.org/x/crypto/
cp -r $GOPATH/src/golang.org/x/crypto/curve25519 vendor/golang.org/x/crypto/
cp -r $GOPATH/src/golang.org/x/crypto/chacha20 vendor/golang.org/x/crypto/
cp -r $GOPATH/src/golang.org/x/crypto/internal/subtle vendor/golang.org/x/crypto/internal/
cp -r $GOPATH/src/golang.org/x/crypto/poly1305 vendor/golang.org/x/crypto/
cp -r $GOPATH/src/golang.org/x/sys/cpu vendor/golang.org/x/sys/

然后会依次构建peer-imageorder-image,但是会在构建gotools工具的时候失败,不用管他

重点!!!

将之前构建的protoc-gen-go复制到.build/docker/gotools/bin/中(如果前面的都是正确无误的话,会生成.build文件夹)

然后从https://gitee.com/TianCaoJiangLin/gotools-bin中复制大佬的chaintool到.build/docker/gotools/bin/中继续执行

make docker

问题

如果没有科学上网的话,可能这里的下载会失败,那么我这边是采用了科学上网的方式,配置https的代理,但是记得取消http的代理,不然后面可能失败

unset  http_proxy

七、下载fabric-sample并进行测试

直接参考之前提到的博客就好

八、镜像构建结果

REPOSITORY                     TAG                            IMAGE ID       CREATED          SIZE
hyperledger/fabric-tools       amd64-1.4.2-snapshot-2d9b6e2   aa7c67c582ac   44 seconds ago   1.56GB
hyperledger/fabric-tools       amd64-latest                   aa7c67c582ac   44 seconds ago   1.56GB
hyperledger/fabric-tools       latest                         aa7c67c582ac   44 seconds ago   1.56GB
hyperledger/fabric-buildenv    amd64-1.4.2-snapshot-2d9b6e2   00348cf627cf   3 minutes ago    1.42GB
hyperledger/fabric-buildenv    amd64-latest                   00348cf627cf   3 minutes ago    1.42GB
hyperledger/fabric-buildenv    latest                         00348cf627cf   3 minutes ago    1.42GB
hyperledger/fabric-ccenv       amd64-1.4.2-snapshot-2d9b6e2   24f639c52762   3 minutes ago    1.43GB
hyperledger/fabric-ccenv       amd64-latest                   24f639c52762   3 minutes ago    1.43GB
hyperledger/fabric-ccenv       latest                         24f639c52762   3 minutes ago    1.43GB
hyperledger/fabric-orderer     amd64-1.4.2-snapshot-2d9b6e2   52e6084ab944   4 minutes ago    174MB
hyperledger/fabric-orderer     amd64-latest                   52e6084ab944   4 minutes ago    174MB
hyperledger/fabric-orderer     latest                         52e6084ab944   4 minutes ago    174MB
hyperledger/fabric-peer        amd64-1.4.2-snapshot-2d9b6e2   65f6428cf7d4   4 minutes ago    179MB
hyperledger/fabric-peer        amd64-latest                   65f6428cf7d4   4 minutes ago    179MB
hyperledger/fabric-peer        latest                         65f6428cf7d4   4 minutes ago    179MB
alpine                         3.14                           9e179bacf43c   11 days ago      5.61MB
hyperledger/fabric-baseimage   amd64-0.4.15                   c4c532c23a50   4 years ago      1.39GB
hyperledger/fabric-baseos      amd64-0.4.15                   9d6ec11c60ff   4 years ago      145MB
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值