FABRIC returns Error: Got unexpected status: BAD_REQUEST

Viewed 5287

From fabric document create-join-channel, when I execute the command

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

it return error snippet following message:

2017-08-16 01:34:13.902 UTC [msp] GetLocalMSP -> DEBU 00c Returning existing local MSP 2017-08-16 01:34:13.902 UTC [msp] GetDefaultSigningIdentity -> DEBU 00d Obtaining default signing identity 2017-08-16 01:34:13.902 UTC [msp/identity] Sign -> DEBU 00e Sign: plaintext: 0AC3060A1508021A060895C2CECC0522...7E2E59E3CFD14AC765C92FBF36614E79 2017-08-16 01:34:13.902 UTC [msp/identity] Sign -> DEBU 00f Sign: digest: FA75790826EF23E1A7C46AD3B9AE0DB7321DC271B8BE93A29BAC2F6EEACBB8B0 Error: Got unexpected status: BAD_REQUEST Usage: peer channel create [flags]

Flags:

The commands are as follows:

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 -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME

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 TIMEOUT=10000 docker-compose -f docker-compose-cli.yaml up -d

docker exec -it cli bash

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
8 Answers

The reason you're getting this is probably because the docker-compose-cli.yaml file is still running the script.sh script. Comment out the line that invokes the script and it will run fine. Example:

# Comment out the line like the example below by adding a #
# command: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME} ${DELAY} ${LANG}; sleep $TIMEOUT'```

I am suggesting a documentation change to fix this.

As @Phil said, you should comment out that line before you start the network. As documentation says :

If left uncommented, that script will exercise all of the CLI commands when the network is started, as we describe in the What’s happening behind the scenes? section. However, we want to go through the commands manually in order to expose the syntax and functionality of each call.

see the doc

Try adding a entry in the /etc/hosts for the domain in use (usually example.com)

go to terminal: type "sudo /etc/hosts" in the top add in "127.0.0.1 example.com" press ctrl+o to save, confirm with 'y', press ctrl+x to exit.

try again.. should work.

./byfn.sh -m restart -c mychannel
Related