16.1 在運行e2e_cli例子時,執行./network_setup.sh up,出現錯誤:網絡搭建之network e2ecli_default not founddocker
問題緣由:網絡
End-2-End例子的目錄是e2e_cli,啓動後會建立一個docker network的名字爲e2e_cli_default,可是配置中設置了e2ecli_default這個與生成的network名對應不上。tcp
解決方法:post
修改e2e_cli/base目錄下的peer-base.yaml中的配置,以下:阿里雲
-CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_defaultspa
16.2 在運行e2e_cli例子時,執行./network_setup.sh up,出現錯誤:Error: Error endorsing chaincode: rpc error: code = Unknown desc = Timeout expired while starting chaincode mycc:1.0(networkid:dev,peerid:peer0.org2.example.com,tx:d6902b58171dd3b9bafb981885959c263589fb66d475cff79a7b5c519c24a603)code
問題緣由:blog
因爲dev-peer0.org2.example.com-mycc-1.0 docker 鏡像存在問題,須要刪除。seo
解決方法:rpc
執行以下命令:
1)刪除舊的鏈碼鏡像
# docker stop $(docker ps -a -q) # docker rm $(docker ps -a -q) # docker rmi -f $(docker images |grep "dev-" |awk '{print $3}')
2)重啓Fabric網絡
# ./network_setup.sh up
16.3 運行自主Helloworld案例時,出現Error: endorsement failure during query. response: status:500 message:"make sure the chaincode mycc has been successfully instantiated and try again: getccdata mychannel/mycc responded with error: could not find chaincode with name 'mycc'"
問題緣由:
經過阿里雲docker鏡像時,獲取latest版本時,尚未升級到1.2版本。
解決方法:
1)刪除舊的鏈碼鏡像
# docker stop $(docker ps -a -q) # docker rm $(docker ps -a -q) # docker rmi $(docker images -q)
2)下載最新的鏡像
# docker pull hyperledger/fabric-peer:amd64-1.2.0 # docker pull hyperledger/fabric-orderer:amd64-1.2.0 # docker pull hyperledger/fabric-tools:amd64-1.2.0 # docker pull hyperledger/fabric-ccenv:amd64-1.2.0 # docker pull hyperledger/fabric-baseos:amd64-0.4.10
16.4 運行自主Helloworld案例peer channel create時,出現Error: failed to create deliver client: orderer client failed to connect to orderer.example.com:7050: failed to create new connection: context deadline exceeded
問題緣由:
防火牆阻止了7050端口
解決方法:
# firewall-cmd --list-ports # firewall-cmd --zone=public --add-port=7050/tcp --permanent # firewall-cmd --reload
16.5 多機多節點部署在peer1.org2.example.com上執行peer channel join -b mychannel.block,出現,Error: error getting endorser client for channel: endorser client failed to connect to peer1.org2.example.com:7051: failed to create new connection: context deadline exceeded
問題緣由:
防火牆阻止了7051端口
解決方法:
# firewall-cmd --list-ports # firewall-cmd --zone=public --add-port=7051/tcp --permanent # firewall-cmd --reload
16.6 Fabric kafka生產環境部署啓動Orderer時,出現orderer2.example.com|panic: [channel: testchainid] Cannot post CONNECT message = dial tcp 192.168.235.5:9092: connect: no route to host
問題緣由:
防火牆阻止了9092端口
解決方法:
# firewall-cmd --list-ports # firewall-cmd --zone=public --add-port=9092/tcp --permanent # firewall-cmd –reload
16.7 Fabric kafka生產環境部署節點(peer)智能合約實例化時,出現Error: could not assemble transaction, err Proposal response was not successful, error code 500, msg failed to execute transaction 42306f917663058379fda4fd1dd7366d302b6bc9d6cd952c59701f38755caca4: timeout expired while starting chaincode cc-qklszzzcc:1.0 for transaction 42306f917663058379fda4fd1dd7366d302b6bc9d6cd952c59701f38755caca4
問題緣由:
域名沒有和IP完成映射
解決方法:
# vi /etc/hosts
添加以下內容:
192.168.235.3 zookeeper0
192.168.235.4 zookeeper1
192.168.235.5 zookeeper2
192.168.235.3 kafka0
192.168.235.4 kafka1
192.168.235.5 kafka2
192.168.235.6 kafka3
192.168.235.3 orderer0.example.com
192.168.235.4 orderer1.example.com
192.168.235.5 orderer2.example.com
192.168.235.7 peer0.org1.example.com
192.168.235.8 peer1.org1.example.com
192.168.235.9 peer0.org2.example.com
192.168.235.10 peer1.org2.example.com