Hyperledger fabric Hyperledger fabric 2.0.1与4订购方的连接配置文件面临问题

Hyperledger fabric Hyperledger fabric 2.0.1与4订购方的连接配置文件面临问题,hyperledger-fabric,hyperledger,Hyperledger Fabric,Hyperledger,下面是我的连接配置文件,用于尝试使用javascript连接到hyperledger结构网络v2.0.1。我指的是测试网络。当我尝试查询或调用时,我已经创建了5个有序的2组织,我面临一个错误,如下所示。请帮我做这个 (节点:18278)未处理的PromiserEjectionWarning:错误:必须连接背书人 在Channel.addEndorser(/Users/nagaraj/gowork/src/github.com/hyperledger-fabric-2.0/javascript/n

下面是我的连接配置文件,用于尝试使用javascript连接到hyperledger结构网络
v2.0.1
。我指的是测试网络。当我尝试查询或调用时,我已经创建了5个有序的2组织,我面临一个错误,如下所示。请帮我做这个

(节点:18278)未处理的PromiserEjectionWarning:错误:必须连接背书人 在Channel.addEndorser(/Users/nagaraj/gowork/src/github.com/hyperledger-fabric-2.0/javascript/node_modules/fabric common/lib/Channel.js:259:10) 在buildChannel(/Users/nagaraj/gowork/src/github.com/hyperledger-fabric-2.0/javascript/node_modules/fabric network/lib/impl/ccp/networkconfig.js:52:21) 在Function.loadFromConfig(/Users/nagaraj/gowork/src/github.com/hyperledger-fabric-2.0/javascript/node_modules/fabric network/lib/impl/ccp/networkconfig.js:37:17) 在处理和拒绝时(内部/process/task_queues.js:97:5) 在async Gateway.connect(/Users/nagaraj/gowork/src/github.com/hyperledger-fabric-2.0/javascript/node_modules/fabric network/lib/Gateway.js:171:13) 异步main(/Users/nagaraj/gowork/src/github.com/hyperledger-fabric-2.0/javascript/invoke.js:32:9) (节点:18278)未处理的PromiserEjectionWarning:未处理的承诺拒绝。此错误源于在没有catch块的异步函数中抛出,或者拒绝未使用.catch()处理的承诺。要在未处理的承诺拒绝时终止节点进程,请使用CLI标志
--unhandled rejections=strict
(请参阅)。(拒绝id:1)

2020-05-14T07:43:29.964Z-错误:[ServiceEndpoint]:错误:在提交者的截止日期之前连接失败-名称:order1.example.com:7050,url:grpcs://localhost:7050 2020-05-14T07:43:29.966Z-错误:[ServiceEndpoint]:waitForReady-无法连接到远程gRPC服务器Order1.example.com:7050 url:grpcs://localhost:7050 超时:3000 2020-05-14T07:43:29.966Z-错误:[发现服务]:_buildOrderer[mychannel]-无法连接到发现的orderer Order1.example.com:7050,原因是:未能在提交人的截止日期之前连接-名称:Order1.example.com:7050,url:grpcs://localhost:7050

{
    "name": "test-network-org1",
    "version": "1.0.0",
    "client": {
        "organization": "Org1",
        "connection": {
            "timeout": {
                "peer": {
                    "endorser": "300"
                }
            }
        }
    },
    "channels": {
        "mychannel": {
            "orderers": [
                "orderer.example.com",
                "orderer1.example.com",
                "orderer2.example.com",
                "orderer3.example.com",
                "orderer4.example.com"
            ],
            "peers": [
                "peer0.org1.example.com",
                "peer0.org1.example.com"
            ]
        }
    },
    "organizations": {
        "Org1": {
            "mspid": "Org1MSP",
            "peers": [
                "peer0.org1.example.com"
            ],
            "certificateAuthorities": [
                "ca.org1.example.com"
            ]
        }
    },
    "orderers": {
        "orderer.example.com": {
            "url": "grpcs://localhost:7050",
            "grpcOptions": {
                "ssl-target-name-override": "orderer.example.com"
            },
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n -----END CERTIFICATE-----\n"
            }
        },
        "orderer1.example.com": {
            "url": "grpcs://localhost:7082",
            "grpcOptions": {
                "ssl-target-name-override": "orderer1.example.com"
            },
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n -----END CERTIFICATE-----\n"
            }
        },
        "orderer2.example.com": {
            "url": "grpcs://localhost:7084",
            "grpcOptions": {
                "ssl-target-name-override": "orderer2.example.com"
            },
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n -----END CERTIFICATE-----\n"
            }
        },
        "orderer3.example.com": {
            "url": "grpcs://localhost:7086",
            "grpcOptions": {
                "ssl-target-name-override": "orderer3.example.com"
            },
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n -----END CERTIFICATE-----\n"
            }
        },
        "orderer4.example.com": {
            "url": "grpcs://localhost:7088",
            "grpcOptions": {
                "ssl-target-name-override": "orderer4.example.com"
            },
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n -----END CERTIFICATE-----\n"
            }
        }
    },
    "peers": {
        "peer0.org1.example.com": {
            "url": "grpcs://localhost:7051",
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n-----END CERTIFICATE-----\n"
            },
            "grpcOptions": {
                "ssl-target-name-override": "peer0.org1.example.com",
                "hostnameOverride": "peer0.org1.example.com"
            }
        },
        "peer1.org1.example.com": {
            "url": "grpcs://localhost:7062",
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n-----END CERTIFICATE-----\n"
            },
            "grpcOptions": {
                "ssl-target-name-override": "peer1.org1.example.com",
                "hostnameOverride": "peer1.org1.example.com"
            }
        }
    },
    "certificateAuthorities": {
        "ca.org1.example.com": {
            "url": "https://localhost:7054",
            "caName": "ca-org1",
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n-----END CERTIFICATE-----\n"
            },
            "httpOptions": {
                "verify": false
            }
        }
    }
}



背书属性定义不正确,并且通道块下的对等点定义错误。这就是它抛出背书人问题的原因。添加突出显示的更改

  "channels": {
    "mychannel": {
        "orderers": [
            "orderer.example.com",
            "orderer1.example.com",
            "orderer2.example.com",
            "orderer3.example.com",
            "orderer4.example.com"
        ],
        "peers": [
            "peer0.org1.example.com",
            "peer0.org1.example.com"   //this should be "peer1.org1.example.com"      
        ]
    }
},
连接配置文件还应该包括endorsingPeer属性和下面给出的其他详细信息

1.4结构网络示例网络连接配置文件

  name: "Network"
version: "1.0"

channels:
  mychannel:
    orderers:
      - orderer.example.com
    peers:
      peer0.org1.example.com:
        endorsingPeer: true
        chaincodeQuery: true
        ledgerQuery: true
        eventSource: true
      peer0.org2.example.com:
        endorsingPeer: true
        chaincodeQuery: false
        ledgerQuery: true
        eventSource: false

organizations:
  Org1:
    mspid: Org1MSP
    peers:
      - peer0.org1.example.com
    certificateAuthorities:
      - ca-org1
    adminPrivateKey:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/keystore/9022d671ceedbb24af3ea69b5a8136cc64203df6b9920e26f48123fcfcb1d2e9_sk
    signedCert:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/signcerts/Admin@org1.example.com-cert.pem

  Org2:
    mspid: Org2MSP
    peers:
      - peer0.org2.example.com
    certificateAuthorities:
      - ca-org2
    adminPrivateKey:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/keystore/5a983ddcbefe52a7f9b8ee5b85a590c3e3a43c4ccd70c7795bec504e7f74848d_sk
    signedCert:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/signcerts/Admin@org2.example.com-cert.pem

orderers:
  orderer.example.com:
    url: grpcs://localhost:7050
    grpcOptions:
      ssl-target-name-override: orderer.example.com
      grpc-max-send-message-length: 4194304
    tlsCACerts:
      path: test/fixtures/channel/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tlscacerts/example.com-cert.pem

peers:
  peer0.org1.example.com:
    url: grpcs://localhost:7051
    grpcOptions:
      ssl-target-name-override: peer0.org1.example.com
      grpc.keepalive_time_ms: 600000
    tlsCACerts:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tlscacerts/org1.example.com-cert.pem

  peer0.org2.example.com:
    url: grpcs://localhost:8051
    grpcOptions:
      ssl-target-name-override: peer0.org2.example.com
    tlsCACerts:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tlscacerts/org2.example.com-cert.pem

certificateAuthorities:
  ca-org1:
    url: https://localhost:7054
    httpOptions:
      verify: false
    tlsCACerts:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org1.example.com/ca/org1.example.com-cert.pem
    registrar:
      - enrollId: admin
        enrollSecret: adminpw
    caName: caorg1

  ca-org2:
    url: https://localhost:8054
    httpOptions:
      verify: false
    tlsCACerts:
      path: test/fixtures/channel/crypto-config/peerOrganizations/org2.example.com/ca/org2.example.com-cert.pem
    registrar:
      - enrollId: admin
        enrollSecret: adminpw
    caName: caorg2