fabric1.0部署问题汇总

1.环境:Ubuntu 16.04

             vmware虚拟机

2.目的:启动fabric样板示例e2e_cli,结果如图所示:

fabric1.0部署问题汇总_第1张图片

3.部署过程

根据https://blog.csdn.net/sinat_23588337/article/details/80808832所示步骤。

docker --version : Docker version 1.13.1, build 092cba3

docker-compse --version : docker-compose version 1.17.1, build 6d101fb

go version : go version go1.8.3 linux/amd64 (p.s. 在.bashrc添加 source /etc/profile可免除每次都要执行source /etc/profile的麻烦)

docker images :结果如下图所示:

fabric1.0部署问题汇总_第2张图片

镜像要求最好不要缺,x86_64-1.0.0和latest两个tag的id要一致。出现问题使用:

拉取镜像:

docker pull hyperledger/fabric-tools:x86_64-1.0.0
docker pull hyperledger/fabric-couchdb:x86_64-1.0.0
docker pull hyperledger/fabric-kafka:x86_64-1.0.0
docker pull hyperledger/fabric-orderer:x86_64-1.0.0
docker pull hyperledger/fabric-peer:x86_64-1.0.0
docker pull hyperledger/fabric-ca:x86_64-1.0.0
docker pull hyperledger/fabric-ccenv:x86_64-1.0.0
docker pull hyperledger/fabric-baseimage:x86_64-0.4.7
docker pull hyperledger/fabric-baseos:x86_64-0.4.7
docker pull hyperledger/fabric-zookeeper:x86_64-1.0.0
docker pull hyperledger/fabric-javaenv:x86_64-1.0.0
docker pull hyperledger/fabric-membersrvc:latest

删除镜像: docker rmi -f

4.出错汇总

      1.ERRO 001 Cannot run peer because error when setting up MSP from directory........msp.......

 2.ERRO 001 Cannot run peer because error when setting up MSP from directory /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp......

解决办法:

  • 这两个问题都是因为fabric版本和docker镜像版本不一致

查看fabric branch: git branch -a.结果带*就是你的branch,如果不是v1.0.0,就git checkout v1.0.0

docker镜像版本更改前文已述。

  • 再查看下fabric目录下: make cryptogen。如果返回
CGO_CFLAGS=" " GOBIN=/opt/gopath/src/github.com/hyperledger/fabric/build/bin go install -tags "" -ldflags "-X github.com/hyperledger/fabric/common/tools/cryptogen/metadata.Version=1.0.1" github.com/hyperledger/fabric/common/tools/cryptogen
# github.com/hyperledger/fabric/vendor/github.com/miekg/pkcs11
vendor/github.com/miekg/pkcs11/pkcs11.go:29:18: fatal error: ltdl.h: No such file or directory
compilation terminated.
Makefile:227: recipe for target 'build/bin/cryptogen' failed
make: *** [build/bin/cryptogen] Error 2

表明缺少ltdl.h文件。执行以下命令:

#apt-get install libtool libltdl-dev
#make cryptogen

   3.Error: Error endorsing chaincode: rpc error: code = Unknown desc = Error starting container: API error (404): {"message":"network e2ecli_default not found"}

      解决办法:

#cd $GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli/base
#gedit peer-base.yaml

打开文件后将e2ecli_default修改为e2e_cli_default

以上,基本是我遇到过的问题了。


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