hyperledger fabric first_network example create channel got BAD_REQUEST

匿名 (未验证) 提交于 2019-12-03 09:02:45

问题:

I have been following tutorial on hyper ledger website: https://hyperledger-fabric.readthedocs.io/en/release/build_network.html#behind-scenes.

I was able to run ./byfn.sh -m generate ./byfn.sh -m up This setup run all the way through of showning the end. like:

===================== All GOOD, BYFN execution completed =====================    _____   _   _   ____ | ____| | \ | | |  _ \ |  _|   |  \| | | | | | | |___  | |\  | | |_| | |_____| |_| \_| |____/

./byfn.sh -m down

Then I begun to follow the tutorial further to execute each line manually. I have successfully executed: cryptogen generate --config=./crypto-config.yaml

export FABRIC_CFG_PATH=$PWD

configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block

export CHANNEL_NAME=mychannel

configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP

configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP

CHANNEL_NAME=$CHANNEL_NAME DELAY=600 TIMEOUT=600 docker-compose -f docker-compose-cli.yaml up -d

docker exec -it cli bash

By now, I should have all the certs, channel tx and anchor peers generated and started all necessary docker containers.

then I executed

export CHANNEL_NAME=mychannel

peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

in the cli container and got:

root@cfd35d38960d:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer channel create -o orderer.example.com:7050 -c my hannel2 -f ./channel-artifacts/channel.tx --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabr c c/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pemr/fabric 2018-02-05 15:27:27.735 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP 2018-02-05 15:27:27.735 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity 2018-02-05 15:27:27.742 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized 2018-02-05 15:27:27.745 UTC [msp] GetLocalMSP -> DEBU 004 Returning existing local MSP 2018-02-05 15:27:27.745 UTC [msp] GetDefaultSigningIdentity -> DEBU 005 Obtaining default signing identity 2018-02-05 15:27:27.746 UTC [msp] GetLocalMSP -> DEBU 006 Returning existing local MSP 2018-02-05 15:27:27.746 UTC [msp] GetDefaultSigningIdentity -> DEBU 007 Obtaining default signing identity 2018-02-05 15:27:27.746 UTC [msp/identity] Sign -> DEBU 008 Sign: plaintext: 0A8C060A074F7267314D53501280062D...53616D706C65436F6E736F727469756D 2018-02-05 15:27:27.746 UTC [msp/identity] Sign -> DEBU 009 Sign: digest: 6D62170E3A05EA175581C405D4BF43F642341165CBF12C6928FFE0473086E46A 2018-02-05 15:27:27.746 UTC [msp] GetLocalMSP -> DEBU 00a Returning existing local MSP 2018-02-05 15:27:27.747 UTC [msp] GetDefaultSigningIdentity -> DEBU 00b Obtaining default signing identity 2018-02-05 15:27:27.747 UTC [msp] GetLocalMSP -> DEBU 00c Returning existing local MSP 2018-02-05 15:27:27.747 UTC [msp] GetDefaultSigningIdentity -> DEBU 00d Obtaining default signing identity 2018-02-05 15:27:27.748 UTC [msp/identity] Sign -> DEBU 00e Sign: plaintext: 0AC4060A1608021A0608DFEFE1D30522...D6E581EFA0DA0888D40FDA924E65BEB6 2018-02-05 15:27:27.749 UTC [msp/identity] Sign -> DEBU 00f Sign: digest: BDDBD94262B4239B63ECFE98239E432FD354643B56DF6EBA23CBC08CDF1C5474 Error: Got unexpected status: BAD_REQUEST Usage:

Got no idea what when wrong here. There are no further or meaningful error message shown except BAD_REQUEST.

I was running it on a vagrant environment with box of ubuntu 16.04 x64. The fact that ./byfn.sh -m up went through means my env can run the first sample no problem. But cannot create channel manually. Any idea what when wrong?

I have deleted all docker containers and rerun, then got this message: Error: got unexpected status: BAD_REQUEST -- error authorizing update: error validating ReadSet: readset expected key [Group] /Channel/Application at version 0, but got version 1

It seem to be mismatched version for peer update, how to solve this?

回答1:

When I used fabric, usually not removing docker container makes a lot of problems. So I recommend removing docker-container, use that

docker ps -aq | xarge docker rm -f

But you are careful about using another docker container.



回答2:

It might be because the certificates aren't replaced in right place. I suggest you to pull the following repo. And try running your byfn from there.

git clone -b issue-6978 https://github.com/sstone1/fabric-samples.git



回答3:

What is the value of $CORE_PEER_TLS_ENABLED in your peer channel create command?



回答4:

I had the same problem, and I fixed it by doing:

$ docker rmi -f $(docker images -q)  

to remove the docker images. Then, from the official website I downloaded the fabric samples, and the binaries again, the commands I used were:

git clone -b master https://github.com/hyperledger/fabric-samples.git curl -sSL [insert link from the website] | bash -s 1.1.0-rc1 

Then, it should work with you.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!