搭建区块链--部署Hyperledger Fabric:incomplete package

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

好不容易pull完hyperledger fabric 的镜像,这是一个非常漫长的过程,执行./bootstrap.sh并不是一个好方法,可以查看这个脚本的代码,自己分步执行,脚本代码如下:
这个bootstrap.sh主要下这三个:第一个是从github上clone fabric-samples,第二个是下载两个文件再解压,第三个是拉取fabric的docker镜像
hyperledger-fabric-ca-linux-amd64-1.4.6.tar
hyperledger-fabric-linux-amd64-2.1.0.tar
搭建区块链--部署Hyperledger Fabric:incomplete package_第1张图片
在hyperledger fabric v2.1中需要拉取的镜像(似乎文件大小比1.x版本要小很多嗯)
搭建区块链--部署Hyperledger Fabric:incomplete package_第2张图片
拉取镜像建议换阿里云的docker镜像源,关于docker镜像的存放在这里

接下来测试fabric网络的时候遇到了当前问题:

Error: error getting chaincode bytes: failed to calculate dependencies: incomplete package: github.com/hyperledger/fabric-chaincode-go/shim
!!!!!!!!!!!!!!! Chaincode packaging on peer0.org1 has failed !!!!!!!!!!!!!!!!

搭建区块链--部署Hyperledger Fabric:incomplete package_第3张图片
原因是go语言的版本,apt-get install go 的版本比较低,进行升级。升级的过程实际上就是删除旧的go,安装新的,我选择了最新的1.14.2
查看当前go的版本
go version
不出意外的话是1.10

cd进入go包的目录

$ sudo rm go

在当前位置重新下载新的go包并解压缩

wget https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz

这里直接给出我下载的地址
解压缩tar zxvf +包名

实际上这时go已经更新完了,原因是我在原来包的位置替换了新的包,path配置等不需要发生变换

查看go的环境
go env
搭建区块链--部署Hyperledger Fabric:incomplete package_第4张图片

如果需要换成国内代理

# go env -w GOPROXY=https://goproxy.cn
# export GOPROXY=https://goproxy.cn

问题解决了!
运行测试网络:

#cd /opt/fabric/fabric-samples/first-network
# ./byfn.sh down
#./byfn.sh up -c mychannel -s couchdb -a

搭建区块链--部署Hyperledger Fabric:incomplete package_第5张图片
搭建区块链--部署Hyperledger Fabric:incomplete package_第6张图片

你可能感兴趣的:(区块链)