Hyperledger fabric 调用注册终结点失败,错误为[错误:connect-ECONNREFUSED]

Hyperledger fabric 调用注册终结点失败,错误为[错误:connect-ECONNREFUSED],hyperledger-fabric,hyperledger,Hyperledger Fabric,Hyperledger,我正在尝试运行Hyperledger fabric Tuna应用程序,在运行regiseterAdmin.js Store path:/home/chaindev/.hfc-key-store Error: Calling enrollment endpoint failed with error [Error: connect ECONNREFUSED 127.0.0.1:7054] at ClientRequest.<anonymous> (/home/chainde

我正在尝试运行Hyperledger fabric Tuna应用程序,在运行
regiseterAdmin.js

  Store path:/home/chaindev/.hfc-key-store
Error: Calling enrollment endpoint failed with error [Error: connect ECONNREFUSED 127.0.0.1:7054]
    at ClientRequest.<anonymous> (/home/chaindev/fabricProjects/src/github.com/education/LFS171x/fabric-material/tuna-app/node_modules/fabric-ca-client/lib/FabricCAClientImpl.js:711:12)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at Socket.socketErrorListener (_http_client.js:387:9)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at emitErrorNT (internal/streams/destroy.js:64:8)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
Failed to enroll admin: Error: Failed to enroll admin
存储路径:/home/chaindev/.hfc密钥存储
错误:调用注册终结点失败,出现错误[错误:connect ECONREFUSSED 127.0.0.1:7054]
在ClientRequest上。(/home/chaindev/fabricProjects/src/github.com/education/LFS171x/fabric material/tuna app/node_modules/fabric ca client/lib/fabriccacalientimpl.js:711:12)
在emitOne(events.js:116:13)
在ClientRequest.emit(events.js:211:7)
位于Socket.socketErrorListener(_http_client.js:387:9)
在emitOne(events.js:116:13)
在Socket.emit(events.js:211:7)
发出错误时(内部/streams/destroy.js:64:8)
at _combinedTickCallback(内部/流程/下一步_tick.js:138:11)
在进程中。_tick回调(内部/process/next_tick.js:180:9)
注册管理员失败:错误:注册管理员失败

因为您的.hfc密钥存储目录位于chaindev

尝试运行以下命令:

$cd~/chaindev/
$rm-rf.hfc密钥存储/

然后,运行以下命令:


$node registerAdmin.js

问题发生在我身上,因为我在
docker compose.yml
文件中提到了错误的私钥名称
FABRIC_CA_服务器_CA_密钥文件=/etc/hyperledger/FABRIC CA服务器配置/4239aa0dcd76daeeb8ba0cda701851d14504d31ad1b2dddbac6a57365e497c_sk

当我重新生成工件时,密钥文件名被更改了,在更正之后,一切都很好。
还感谢rocket fabric group提到了有关如何在docker容器中查找日志的命令

docker ps -a 

docker logs <ca container name>
docker ps-a
码头工人日志

需要在此基础上更新文档。Localhost 127.0.0.1不适用于Docker for Windows和Docker Toolbox,因为它们都在Docker启动时提供了运行时IP地址(此处为192.168.1.2)。 此启动IP需要在registerAdmin.js文件(或者在我的情况下,如教程“”中所述的enrollAdmin.js文件)中更新。 需要在此行中更新enrollAdmin.js:

// be sure to change the http to https when the CA is running TLS enabled
    fabric_ca_client = new Fabric_CA_Client('http://192.168.1.2:7054', tlsOptions , 'ca.example.com', crypto_suite);
输出证书应类似于:

已成功注册管理员用户“admin” 将管理员用户分配给结构客户端::“名称”:“管理员”,“mspid”:“Org1MSP”,“角色”:null,“从属关系”:“注册机密”:“注册”:“签名身份”:“C198861140FC723ABC058C70D23395A2D7B73C926CA673B533D713053AADE419”,“身份”:{“证书”:“----开始证书------\nMIICATCCAIGAWIBAGIUK/o2ege+nT73jK/NXSGYIKOZJ0EAWIW\nczELM…QNCKD6AIAPKXXU1MAQIT1KFL3KYZWGBNDSSA6SCBOB7Q1P5XFPQ=\n----结束证书------\n”}”
类似的问题。

连接协议不匹配,或者您在没有TLS的情况下完成了结构设置,并尝试使用https协议连接到CA,或者反之亦然。

如果端口处于PeerAdmin@Org.card与docker-compose.yaml中的端口不匹配,我很难找到此问题的解决方案。

运行do检查所有docker容器是否都在运行

如果没有运行,请运行它,如果失败,请下载结构二进制文件。

我也有同样的错误。 我再次运行
networkDown.sh
并运行
startFabric.sh
,然后它成功了