参考:Hyperledger Fabric学习笔记(四)- fabric单机部署 solo 版_茕夜-CSDN博客
Q1.接着打包链码,首先将~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/chaincode/fabcar/go/的源代码移到chaincode目录下,再设置go代理,输入命令:
sudo cp -r ~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/chaincode/fabcar/go/ chaincode/
sudo go env -w GO111MODULE=on
sudo go env -w GOPROXY=https://goproxy.cn,direct
sudo peer lifecycle chaincode package testcc.tar.gz --path ./chaincode/go/ --lang golang --label testcc_1
从usr/local/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/chaincode/fabcar/go/的源代码移到chaincode目录下得到
运行
sudo peer lifecycle chaincode package testcc.tar.gz --path ./chaincode/go/ --lang golang --label testcc_1
报错找不到peer命令,原因是当前目录没有peer命令文件,需引用/usr/local/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/bin
sudo /usr/local/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/bin/peer lifecycle chaincode package testcc.tar.gz --path ./chaincode/go/ --lang golang --label testcc_1
运行,依然报错
原因是运行目录下没有找到core.yaml文件,运行目录错误,返回上级目录order继续运行,依旧报错
意思是./chaincode/go: open /opt/hyperledger/order/chaincode/go目录下无文件,确实从fabric-samples复制文件中没有go文件夹。初步怀疑是usr/local/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/chaincode/fabcar/go/目录下的文件和博主的不一样,少了个go文件夹。
我找到了fabric-sample官网,发现并没有缺少文件
既然,报错路径下并没有缺少文件,那就从代码本身入手