cp: cannot stat 'build/docker/gotools/bin/protoc-gen-go': No such file or directory(找不到protoc-gen-go文件)
编译生成 protoc-gen-go
#编译生成 protoc-gen-go
cd $GOPATH
gopm get -g -d github.com/golang/protobuf/protoc-gen-go
go install github.com/golang/protobuf/protoc-gen-go
#确认在$GOPATH/bin出现protoc-gen-go执行文件
如果出现文件或者命令没找到的错误,复制go 的相关文件到 fabric 编译环境
cp $GOPATH/bin/protoc-gen-go $GOPATH/src/github.com/hyperledger/fabric/build/docker/gotools/bin/
cp $GOPATH/bin/gocov $GOPATH/src/github.com/hyperledger/fabric/build/docker/gotools/bin/
错误:
执行make docker遇到:core/chaincode/shim/java/javabuild.sh: line 51: gradle: command not found
解决办法:删除openjdk
安装:oracle jdk1.8
手动gradle,注释掉core/chaincode/shim/java/javabuild.sh里面的gradle命令
启动 ./network_setup.sh up
错误:2017-09-12 14:17:49.952 UTC [grpc] Printf -> DEBU 003 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp 211.139.178.49:7050: i/o timeout"; Reconnecting to {orderer.example.com:7050
!!!!!!!!!!!!!!! Channel creation failed !!!!!!!!!!!!!!!!
================== ERROR !!! FAILED to execute End-2-End Scenario ==================
解决办法:
修改宿主机hosts /etc/hosts ,在实际环境中,建议通过配置 DNS 而不是修改 /etc/hosts 文件
127.0.0.1 orderer.example.com
修改 base/peer-base.yaml,添加 volumes:
volumes:
-/etc/hosts:/etc/hosts
错误:不能生成创世块
解决办法:
root@ubuntu:~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/channel-artifacts# ls
channel.tx genesis.block Org1MSPanchors.tx Org2MSPanchors.tx
root@ubuntu:~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/channel-artifacts# rm -rf genesis.block/
错误:
[root@localhost e2e_cli]# ../../build/bin/configtxgen -profile TwoOrgsOrdererGenesis
2017-09-17 05:54:50.525 PDT [common/configtx/tool] main -> INFO 001 Loading configuration
2017-09-17 05:54:50.525 PDT [common/configtx/tool/localconfig] Load -> CRIT 002 Error reading configuration: Unsupported Config Type ""
2017-09-17 05:54:50.525 PDT [common/configtx/tool] func1 -> ERRO 003 Could not find configtx.yaml. Please make sure that FABRIC_CFG_PATH is set to a path which contains configtx.yaml
解决办法:
[root@localhost e2e_cli]# export FABRIC_CFG_PATH=$PWD
[root@localhost e2e_cli]# ../../build/bin/configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block
错误:
cli | 2017-09-19 14:58:59.485 UTC [msp/identity] Sign -> DEBU 00e Sign: plaintext: 0AC3060A1508021A0608B3E184CE0522...EBE756E2B3F85609A68E923C9B9499B3
cli | 2017-09-19 14:58:59.485 UTC [msp/identity] Sign -> DEBU 00f Sign: digest: 57743FC2DDB7C9C207351F728119716FF214994F050D89C3D19805B9923A5DA4
cli | Error: Got unexpected status: BAD_REQUEST
cli | Usage:
cli | peer channel create [flags]
cli |
cli | Flags:
cli | -c, --channelID string In case of a newChain command, the channel ID to create.
cli | -f, --file string Configuration transaction file generated by a tool such as configtxgen for submitting to orderer
cli | -t, --timeout int Channel creation timeout (default 5)
cli |
cli | Global Flags:
cli | --cafile string Path to file containing PEM-encoded trusted certificate(s) for the ordering endpoint
cli | --logging-level string Default logging level and overrides, see core.yaml for full syntax
cli | -o, --orderer string Ordering service endpoint
cli | --test.coverprofile string Done (default "coverage.cov")
cli | --tls Use TLS when communicating with the orderer endpoint
cli | -v, --version Display current version of fabric peer server
cli |
cli | !!!!!!!!!!!!!!! Channel creation failed !!!!!!!!!!!!!!!!
cli | ================== ERROR !!! FAILED to execute End-2-End Scenario ==================
cli |
cli | sleep: missing operand
cli | Try 'sleep --help' for more information.
解决办法:
类似这样的错误,是因为channel已经建立,命名冲突
<EXACT_TIMESTAMP> UTC [msp] Sign -> DEBU 064 Sign: digest: 5ABA6805B3CDBAF16C6D0DCD6DC439F92793D55C82DB130206E35791BCF18E5F
Error: Got unexpected status: BAD_REQUEST
Usage:
peer channel create [flags]
解决办法:移除docker,重新启动。执行最后一个命令即可
1)删除一个容器 docker rm
2)强制删除一个容器 docker rm -f
3)强制删除全部容器 docker rm -f $(docker ps -aq)