Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

FABRIC returns Error: Got unexpected status: BAD_REQUEST

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
like image 934
Jim Green Avatar asked Aug 16 '17 07:08

Jim Green


1 Answers

Got unexpected status: BAD_REQUEST

Unfortunately, this error message can mean many things. FYI, in the upcoming fabric v1.1 release, this message has been enhanced to include additional text.

Most commonly, for channel creation, this status indicates that the submitter does not have channel creation rights (which usually equates to admin authority for an org). However, as mac indicates, if the channel already exists you might also get this error.

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

This command strikes me as the likely culprit. This command should usually be paired with lines like:

export CORE_PEER_MSPCONFIGPATH=`pwd`/crypto-config/peerOrganizations/org1.example.com/users/[email protected]/msp 
export CORE_PEER_LOCALMSPID=PeerOrg1 

Which tell the peer command that the channel creation request should be signed using a particular admin's certificate. The default paths for the peer command's certificate material usually result in a standard user cert being used to sign.

like image 109
Jason Yellick Avatar answered Oct 13 '22 11:10

Jason Yellick