I am trying to run Hyperledger Explorer on a network running on the IBM Blockchain Platform. The peer is running on port 7051. The application is throwing an error when I use specify port 7051 in my connection profile.
[2020-11-20T14:57:26.551] [ERROR] FabricClient - Error: Missing port parameter
explorer.mynetwork.com | at module.exports.checkParameter (/opt/explorer/node_modules/fabric-common/lib/Utils.js:631:8)
explorer.mynetwork.com | at DiscoveryService._buildUrl (/opt/explorer/node_modules/fabric-common/lib/DiscoveryService.js:663:58)
explorer.mynetwork.com | at DiscoveryService._buildPeer (/opt/explorer/node_modules/fabric-common/lib/DiscoveryService.js:633:20)
explorer.mynetwork.com | at DiscoveryService._processPeers (/opt/explorer/node_modules/fabric-common/lib/DiscoveryService.js:553:15)
explorer.mynetwork.com | at DiscoveryService._processMembership (/opt/explorer/node_modules/fabric-common/lib/DiscoveryService.js:505:42)
explorer.mynetwork.com | at DiscoveryService.send (/opt/explorer/node_modules/fabric-common/lib/DiscoveryService.js:334:55)
explorer.mynetwork.com | at process._tickCallback (internal/process/next_tick.js:68:7)
I have specified the port number along with the peer url already
"peers": {
"xx-xx-xx-peer-x": {
"url": "grpcs://xx-xx-xx-peer-x:443",
"tlsCACerts": {
"path": "/opt/explorer/app/platform/fabric/certs/peer1.crt"
},
"grpcOptions": {
"ssl-target-name-override": "xx-xx-xx-peer-x"
}
}
}
I was running into this error as well, and I understand how frustrating it can be with such minimal documentation on these more obscure points. Granted, I am building my network from the binaries, and not the IBM Platform like you, but I feel that this is so similar to my issue that it's worth a shot for you to try this solution: I was able to solve it by making sure all of my Anchor Peers, in their respective
core.yamlfiles, had theirpeer.gossip.externalEndpointvalue filled out with not just the address but the port, too. This would be in the standard form of<Address>:<Port>.