我下载了hyperledger explorer,我想通过two org tutorial探索区块链网络设置 . 我的资源管理器配置文件是
{
"network-config": {
"org1": {
"name": "peerOrg1",
"mspid": "Org1MSP",
"peer1": {
"requests": "grpc://127.0.0.1:7051",
"events": "grpc://127.0.0.1:7053",
"server-hostname": "peer0.org1.example.com"
},
"peer2": {
"requests": "grpc://127.0.0.1:8051",
"events": "grpc://127.0.0.1:8053",
"server-hostname": "peer1.org1.example.com"
},
"admin": {
"key": "/home/mfgteg/fabric-samples/first-example/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore",
"cert": "/home/mfgteg/fabric-samples/first-example/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts"
}
},
"org2": {
"name": "peerOrg2",
"mspid": "Org2MSP",
"peer1": {
"requests": "grpc://127.0.0.1:9051",
"events": "grpc://127.0.0.1:9053",
"server-hostname": "peer0.org2.example.com"
},
"peer2": {
"requests": "grpc://127.0.0.1:10051",
"events": "grpc://127.0.0.1:10053",
"server-hostname": "peer1.org2.example.com"
},
"admin": {
"key": "/home/mfgteg/fabric-samples/first-example/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore",
"cert": "/home/mfgteg/fabric-samples/first-example/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts"
}
}
},
"host": "localhost",
"port": "8080",
"channel": "mychannel",
"keyValueStore": "/tmp/fabric-client-kvs",
"eventWaitTime": "30000",
"mysql": {
"host": "127.0.0.1",
"port": "3306",
"database": "fabricexplorer",
"username": "root",
"passwd": "****"
}
}
我甚至尝试保留tls证书并保留grpcs而不是grpc . 在资源管理器窗口中,它不显示通道,对等和块信息 .
以下是日志的一部分:
Error: listen EADDRINUSE :::8080
at Object._errnoException (util.js:1024:11)
at _exceptionWithHostPort (util.js:1046:20)
at Server.setupListenHandle [as _listen2] (net.js:1351:14)
at listenInCluster (net.js:1392:12)
at Server.listen (net.js:1476:7)
at Object.<anonymous> (/home/mfgteg/blockchain-explorer/main.js:167:19)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
3 回答
EADDRINUSE ::: 8080表示您已经将端口用于其他进程 .
将config.json文件中的端口设置更改为未使用的端口,例如:"port":"5000"
尝试再次启动服务器 .
您看到的这个错误
Error: listen EADDRINUSE :::8080
表示您已经在PORT 8080上运行了一个进程 - 它可能是Composer Playground . 其中一个配置文件允许您指定要运行的Explorer的端口 .如果您正在使用'standard' Composer Tutorial for MultiOrg,那么它使用 grpcs ,因此需要修改这些URL,并且需要为对等项添加tlscerts(请参阅connection.json文件)
我用localhost替换了loopback ip地址,但它确实有效 .