无法运行peer因为无法init加密

时间:2017-07-05 08:43:42

标签: hyperledger-fabric hyperledger

我想在windows10上运行facbar-samples,引用http://hyperledger-fabric.readthedocs.io/en/latest/write_first_app.html但是得到错误:

$ ./startFabric.sh
orderer.example.com is up-to-date
couchdb is up-to-date
peer0.org1.example.com is up-to-date
cli is up-to-date
2017-07-05 08:17:06.550 UTC [main] main -> ERRO 001 Cannot run peer because 
cannot init crypto, missing /etc/hyperledger/fabric/C:/Program 
Files/Git/etc/hyperledger/msp/users/Admin@org1.example.com/msp folder

我安装了一些:

$ npm -v
5.0.4
$ node -v
v6.11.0
$ curl -V
curl 7.54.0 (x86_64-w64-mingw32) libcurl/7.54.0 OpenSSL/1.0.2l zlib/1.2.11 
libssh2/1.8.0 nghttp2/1.23.1 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 
pop3s rtmp rtsp scp sftp smtp smtps telnet tftp
Features: IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL libz TLS-SRP HTTP2 
HTTPS-proxy Metalink

$ docker --version
Docker version 17.06.0-ce, build 02c1d87

$ docker-compose --version
docker-compose version 1.14.0, build c7bdf9e3

$ git --version
git version 2.13.1.windows.2

请帮助,谢谢。

7 个答案:

答案 0 :(得分:3)

这是mingw64的一个问题,它正在弄乱文件路径。 解决方案是在运行startFabric.sh之前设置以下环境变量:

导出MSYS_NO_PATHCONV = 1

刚刚提交给Fabric的修复程序为您执行此操作,因此如果从主分支中提取最新版本,它应该可以正常工作。否则,只需设置该变量即可解决您的问题。

阿诺

答案 1 :(得分:1)

问题是证书路径不正确(在/ fabric和/ etc之间查找windows路径字符串) /etc/hyperledger/fabric/C:/ProgramFiles/Git/etc/hyperledger/msp/users/Admin@org1.example.com/msp

您可以尝试下一步:

  • 将证书路径添加为对等部分的docker撰写文件的环境变量
  • 使用 docker-compose -f“path_to_file”启动网络
  • 在peer和cli的startFabric.sh中手动运行指令。
  • 然后您可以成功运行节点query.js 以测试网络工作

答案 2 :(得分:1)

路径中的双//将解决这个问题。在docker exec命令使用的所有位置更新 例如MSPCONFIGPATH = //等/ hyperledger ....

在您开始运行网络之前,还必须生成证书

答案 3 :(得分:0)

在运行fabcar-samples之前,我认为您必须执行“建立您的第一个网络”中的一些步骤。章节。您似乎还没有获得所需的证书来启动网络。此外,您应该生成 genesis块通道配置事务锚点对等

您可以通过执行./byfn.sh -m generate命令来执行此操作。有关详细信息:http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html#generate-network-artifacts

答案 4 :(得分:0)

有人可以进一步解释这意味着什么:

“将证书路径添加为对等部分的docker撰写文件的环境变量”

什么证书?

@Vlad

答案 5 :(得分:0)

我在使用 Fabric 2.2 的测试网络时遇到了同样的问题。要解决,

  1. 再次启动docker
  2. 再次设置 FABRIC_CFG_PATH、CORE_PEER_TLS_ENABLED、CORE_PEER_LOCALMSPID、CORE_PEER_TLS_ROOTCERT_FILE、CORE_PEER_ADDRESS 和 CORE_PEER_MSPCONFIGPATH
  3. 从 test-network 子目录运行查询。

答案 6 :(得分:-1)

先执行此getInfo(),然后再运行./byfn.sh -m down,然后再运行./byfn.sh generate