1
votes

I have created 3 Org with 3 peer ( 1 peer each), 3 CAs & 1 Orderer. All these are connected on a single channel. I could able to bring this network up & running on Hyperledger Fabric. I also tested by deploying a fabric sample chaincode. It got deployed on all 3 peer with install chain code, query chain code functionality working. I configured a composer module for the same 3 Org with 3 peer admin cards and its corresponding connection profiles, endorsement policy for all 3 org as signing authority. When I deployed the composer .bna it failed with below error

⠸ Starting business network definition. This may take a minute...(node:29523) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: The event hub has not been connected to the event source
(node:29523) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: The event hub has not been connected to the event source
✖ Starting business network definition. This may take a minute...
Error: Error trying to instantiate composer runtime. Error: The event hub has not been connected to the event source

Please advise on the solution for multi Org Fabric & Composer setup

2

2 Answers

2
votes

would check your connection profiles - specifically "eventURL": - you aren't supposed to include eventURL for peers from 'other orgs' in the connection profile used to build a business network card that can transact on the business network. eg

"peers": [
    {
        "requestURL": "grpcs://hostname:9051",
        "eventURL": "grpcs://localhost:9053",
        "hostnameOverride": "peer0.org.domain.abc",
        "cert": "-----BEGIN CERTIFICATE-----\nMblahCCAfe....QNH\n3spjHtiblfJekAgO78lvGEY25Lw=\n-----END CERTIFICATE-----\n"
    },
    {
        "requestURL": "grpcs://hostname:10051",
        "eventURL": "grpcs://localhost:10053",
        "hostnameOverride": "peer1.org.domain.abc",
        "cert": "-----BEGIN CERTIFICATE-----\nMIICUD....NH\n3jHtiblfJekxh8lvGEY25Lw=\n-----END CERTIFICATE-----\n"
    },
    {
        "requestURL": "grpcs://hostname:14051",
        "hostnameOverride": "peer0.other.domain.abc",
        "cert": "-----BEGIN CERTIFICATE-----\nMIICVssC....4nR9w==\n-----END CERTIFICATE-----\n"
    },
    {
        "requestURL": "grpcs://hostname:15051",
        "hostnameOverride": "peer1.other.domain.abc",
        "cert": "-----BEGIN CERTIFICATE-----\nMIIfDT......R9w==\n-----END CERTIFICATE-----\n"
    }
]
0
votes

I removed the eventurl from the connection profile and it worked. Thanks for your response.