Hyperledger fabric Hyperledger结构对等连接失败,为“0”;“不良提案响应”;
我在设置simple Hyperledger Fabric v1.2.0网络时遇到问题。我尝试构建的网络由一个订购者和一个组织以及一个对等方组成。我成功地完成了构建您的第一个网络教程,并希望从头开始。但是,我在将对等连接到通道时总是遇到错误Hyperledger fabric Hyperledger结构对等连接失败,为“0”;“不良提案响应”;,hyperledger-fabric,hyperledger,Hyperledger Fabric,Hyperledger,我在设置simple Hyperledger Fabric v1.2.0网络时遇到问题。我尝试构建的网络由一个订购者和一个组织以及一个对等方组成。我成功地完成了构建您的第一个网络教程,并希望从头开始。但是,我在将对等连接到通道时总是遇到错误 docker exec -e "CORE_PEER_LOCALMSPID=FooMSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@foo.bcn.org/msp" -e "CO
docker exec -e "CORE_PEER_LOCALMSPID=FooMSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@foo.bcn.org/msp" -e "CORE_PEER_ADDRESS=peer0.foo.bcn.org:7051" peer0.foo.bcn.org peer channel join -b /etc/hyperledger/configtx/genesis.block
2018-08-25 17:50:18.970 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
Error: proposal failed (err: bad proposal response 500)
# generate crypto material
cryptogen generate --config=./crypto-config.yaml
# generate genesis block for orderer
configtxgen -profile OrdererGenesis -outputBlock ./channel-artifacts/genesis.block
# generate channel configuration transaction
configtxgen -profile OrgChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID bcnchannel
docker-compose -f docker-compose.yaml up -d
# Create the channel
docker exec -e "CORE_PEER_LOCALMSPID=FooMSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@foo.bcn.org/msp" -e "CORE_PEER_ADDRESS=peer0.foo.bcn.org:7051" peer0.foo.bcn.org peer channel create -o orderer.bcn.org:7050 -c bcnchannel -f /etc/hyperledger/configtx/channel.tx
# Join peer to the channel.
docker exec -e "CORE_PEER_LOCALMSPID=FooMSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@foo.bcn.org/msp" -e "CORE_PEER_ADDRESS=peer0.foo.bcn.org:7051" peer0.foo.bcn.org peer channel join -b /etc/hyperledger/configtx/genesis.block
无论是订购者的日志,还是同行的日志,都没有显示一些透露信息(至少对我而言)
日志peer0.foo.bcn.org
2018-08-25 17:50:13.676 UTC [nodeCmd] serve -> INFO 01d Started peer with ID=[name:"peer0.foo.bcn.org" ], network ID=[dev], address=[peer0.foo.bcn.org:7051]
2018-08-25 17:50:18.972 UTC [endorser] ProcessProposal -> ERRO 01e [][20e127e8] simulateProposal() resulted in chaincode name:"cscc" response status 500 for txid: 20e127e8af5dc8f513da9ea287b1ae2940df834be0f1b0404560b3e94e94627a
记录order.bcn.org
2018-08-25 17:50:13.676 UTC [nodeCmd] serve -> INFO 01d Started peer with ID=[name:"peer0.foo.bcn.org" ], network ID=[dev], address=[peer0.foo.bcn.org:7051]
2018-08-25 17:50:18.972 UTC [endorser] ProcessProposal -> ERRO 01e [][20e127e8] simulateProposal() resulted in chaincode name:"cscc" response status 500 for txid: 20e127e8af5dc8f513da9ea287b1ae2940df834be0f1b0404560b3e94e94627a
订购方的日志除了以下几行之外,对我来说没有任何可疑之处
2018-08-25 17:50:18.784 UTC [common/deliver] Handle -> WARN 2fc Error reading from 172.18.0.3:50860: rpc error: code = Canceled desc = context canceled
导致我出错的命令是直接的,生成通道工件并连接到对等方以创建和加入通道
docker exec -e "CORE_PEER_LOCALMSPID=FooMSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@foo.bcn.org/msp" -e "CORE_PEER_ADDRESS=peer0.foo.bcn.org:7051" peer0.foo.bcn.org peer channel join -b /etc/hyperledger/configtx/genesis.block
2018-08-25 17:50:18.970 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
Error: proposal failed (err: bad proposal response 500)
# generate crypto material
cryptogen generate --config=./crypto-config.yaml
# generate genesis block for orderer
configtxgen -profile OrdererGenesis -outputBlock ./channel-artifacts/genesis.block
# generate channel configuration transaction
configtxgen -profile OrgChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID bcnchannel
docker-compose -f docker-compose.yaml up -d
# Create the channel
docker exec -e "CORE_PEER_LOCALMSPID=FooMSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@foo.bcn.org/msp" -e "CORE_PEER_ADDRESS=peer0.foo.bcn.org:7051" peer0.foo.bcn.org peer channel create -o orderer.bcn.org:7050 -c bcnchannel -f /etc/hyperledger/configtx/channel.tx
# Join peer to the channel.
docker exec -e "CORE_PEER_LOCALMSPID=FooMSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@foo.bcn.org/msp" -e "CORE_PEER_ADDRESS=peer0.foo.bcn.org:7051" peer0.foo.bcn.org peer channel join -b /etc/hyperledger/configtx/genesis.block
有什么想法会导致这个问题以及如何解决它吗
提前谢谢
加密配置.yaml
OrdererOrgs:
- Name: Orderer
Domain: bcn.org
Specs:
- Hostname: orderer
PeerOrgs:
- Name: Foo
Domain: foo.bcn.org
Template:
Count: 1
Start: 0
Users:
Count: 1
Organizations:
- &OrdererOrg
Name: BCNOrdererOrg
ID: BCNOrdererMSP
AdminPrincipal: Role.ADMIN
MSPDir: crypto-config/ordererOrganizations/bcn.org/msp
- &Org1
Name: Foo
ID: FooMSP
AdminPrincipal: Role.ADMIN
MSPDir: crypto-config/peerOrganizations/foo.bcn.org/msp
AnchorPeers:
- Host: peer0.foo.bcn.org
Port: 7051
Application: &ApplicationDefaults
Organizations:
Orderer: &OrdererDefaults
OrdererType: solo
Addresses:
- orderer.bcn.org:7050
BatchTimeout: 2s
MaxChannels: 0
BatchSize:
MaxMessageCount: 10
AbsoluteMaxBytes: 99 MB
PreferredMaxBytes: 512 KB
Organizations:
Profiles:
OrdererGenesis:
Orderer:
<<: *OrdererDefaults
Organizations:
- *OrdererOrg
Consortiums:
BCNConsortium:
Organizations:
- *Org1
OrgChannel:
Consortium: BCNConsortium
Application:
<<: *ApplicationDefaults
Organizations:
- *Org1
version: '2'
networks:
bcn-net:
services:
orderer.bcn.org:
container_name: orderer.bcn.org
image: hyperledger/fabric-orderer
environment:
- ORDERER_GENERAL_LOGLEVEL=debug
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_GENESISMETHOD=file
- ORDERER_GENERAL_GENESISFILE=/etc/hyperledger/configtx/genesis.block
- ORDERER_GENERAL_LOCALMSPID=BCNOrdererMSP
- ORDERER_GENERAL_LOCALMSPDIR=/etc/hyperledger/msp/orderer/msp
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
command: orderer
ports:
- 7050:7050
volumes:
- ./channel-artifacts/:/etc/hyperledger/configtx
- ./crypto-config/ordererOrganizations/bcn.org/orderers/orderer.bcn.org/:/etc/hyperledger/msp/orderer
networks:
- bcn-net
peer0.foo.bcn.org:
container_name: peer0.foo.bcn.org
image: hyperledger/fabric-peer
environment:
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_PEER_ID=peer0.foo.bcn.org
- CORE_LOGGING_PEER=debug
- CORE_CHAINCODE_LOGGING_LEVEL=debug
- CORE_PEER_LOCALMSPID=FooMSP
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
- CORE_PEER_ADDRESS=peer0.foo.bcn.org:7051
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_bcn-net
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: peer node start
ports:
- 7051:7051
- 7053:7053
volumes:
- /var/run/:/host/var/run/
- ./crypto-config/peerOrganizations/foo.bcn.org/peers/peer0.foo.bcn.org/msp:/etc/hyperledger/msp/peer
- ./crypto-config/peerOrganizations/foo.bcn.org/users:/etc/hyperledger/msp/users
- ./channel-artifacts:/etc/hyperledger/configtx
depends_on:
- orderer.bcn.org
networks:
- bcn-net
configtx.yaml
OrdererOrgs:
- Name: Orderer
Domain: bcn.org
Specs:
- Hostname: orderer
PeerOrgs:
- Name: Foo
Domain: foo.bcn.org
Template:
Count: 1
Start: 0
Users:
Count: 1
Organizations:
- &OrdererOrg
Name: BCNOrdererOrg
ID: BCNOrdererMSP
AdminPrincipal: Role.ADMIN
MSPDir: crypto-config/ordererOrganizations/bcn.org/msp
- &Org1
Name: Foo
ID: FooMSP
AdminPrincipal: Role.ADMIN
MSPDir: crypto-config/peerOrganizations/foo.bcn.org/msp
AnchorPeers:
- Host: peer0.foo.bcn.org
Port: 7051
Application: &ApplicationDefaults
Organizations:
Orderer: &OrdererDefaults
OrdererType: solo
Addresses:
- orderer.bcn.org:7050
BatchTimeout: 2s
MaxChannels: 0
BatchSize:
MaxMessageCount: 10
AbsoluteMaxBytes: 99 MB
PreferredMaxBytes: 512 KB
Organizations:
Profiles:
OrdererGenesis:
Orderer:
<<: *OrdererDefaults
Organizations:
- *OrdererOrg
Consortiums:
BCNConsortium:
Organizations:
- *Org1
OrgChannel:
Consortium: BCNConsortium
Application:
<<: *ApplicationDefaults
Organizations:
- *Org1
version: '2'
networks:
bcn-net:
services:
orderer.bcn.org:
container_name: orderer.bcn.org
image: hyperledger/fabric-orderer
environment:
- ORDERER_GENERAL_LOGLEVEL=debug
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_GENESISMETHOD=file
- ORDERER_GENERAL_GENESISFILE=/etc/hyperledger/configtx/genesis.block
- ORDERER_GENERAL_LOCALMSPID=BCNOrdererMSP
- ORDERER_GENERAL_LOCALMSPDIR=/etc/hyperledger/msp/orderer/msp
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
command: orderer
ports:
- 7050:7050
volumes:
- ./channel-artifacts/:/etc/hyperledger/configtx
- ./crypto-config/ordererOrganizations/bcn.org/orderers/orderer.bcn.org/:/etc/hyperledger/msp/orderer
networks:
- bcn-net
peer0.foo.bcn.org:
container_name: peer0.foo.bcn.org
image: hyperledger/fabric-peer
environment:
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_PEER_ID=peer0.foo.bcn.org
- CORE_LOGGING_PEER=debug
- CORE_CHAINCODE_LOGGING_LEVEL=debug
- CORE_PEER_LOCALMSPID=FooMSP
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
- CORE_PEER_ADDRESS=peer0.foo.bcn.org:7051
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_bcn-net
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: peer node start
ports:
- 7051:7051
- 7053:7053
volumes:
- /var/run/:/host/var/run/
- ./crypto-config/peerOrganizations/foo.bcn.org/peers/peer0.foo.bcn.org/msp:/etc/hyperledger/msp/peer
- ./crypto-config/peerOrganizations/foo.bcn.org/users:/etc/hyperledger/msp/users
- ./channel-artifacts:/etc/hyperledger/configtx
depends_on:
- orderer.bcn.org
networks:
- bcn-net
经过无数个小时的检查我的配置文件后,我终于发现我搞砸了。 问题在于加入通道时使用了错误的块文件
docker exec -e "CORE_PEER_LOCALMSPID=FooMSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@foo.bcn.org/msp" -e "CORE_PEER_ADDRESS=peer0.foo.bcn.org:7051" peer0.foo.bcn.org peer channel join -b /etc/hyperledger/configtx/genesis.block
2018-08-25 17:50:18.970 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
Error: proposal failed (err: bad proposal response 500)
# generate crypto material
cryptogen generate --config=./crypto-config.yaml
# generate genesis block for orderer
configtxgen -profile OrdererGenesis -outputBlock ./channel-artifacts/genesis.block
# generate channel configuration transaction
configtxgen -profile OrgChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID bcnchannel
docker-compose -f docker-compose.yaml up -d
# Create the channel
docker exec -e "CORE_PEER_LOCALMSPID=FooMSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@foo.bcn.org/msp" -e "CORE_PEER_ADDRESS=peer0.foo.bcn.org:7051" peer0.foo.bcn.org peer channel create -o orderer.bcn.org:7050 -c bcnchannel -f /etc/hyperledger/configtx/channel.tx
# Join peer to the channel.
docker exec -e "CORE_PEER_LOCALMSPID=FooMSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@foo.bcn.org/msp" -e "CORE_PEER_ADDRESS=peer0.foo.bcn.org:7051" peer0.foo.bcn.org peer channel join -b /etc/hyperledger/configtx/genesis.block
为了加入通道,我使用了订购方的genesis块,而不是在“对等通道创建”期间创建的块
因此,在使用
peer channel create -o orderer.bcn.org:7050 -c bcnchannel -f /etc/hyperledger/configtx/channel.tx
我应该用
peer channel join -b bcnchannel.block
而不是
peer channel join -b /etc/hyperledger/configtx/genesis.block