hyperledger fabric first_network example create ch

2020-07-25 09:39发布

问题:

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:

./byfn.sh -m restart -c (channelName) replace channel name by your own channel name if u have ran (./byfn.sh -m up) previously and if its your first time doing it then use ./byfn.sh -m up(in first-network in folder)



回答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.



回答5:

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 | xargs docker rm -f

But you are careful about using another docker container.