查询Chaincode时,Hyperledger崩溃

时间:2017-10-22 10:04:47

标签: node.js hyperledger

我正在使用Hyperledger Fabric v1.0,并且在尝试在以下git存储库上使用示例项目fabcar时遇到错误: git clone https://github.com/hyperledger/fabric-samples.git

我可以使用以下shell脚本启动所有容器:

./startFabric.sh

创建了对等体和通道,但是当我使用命令

node query.js

崩溃时出现以下错误: 创建客户端并设置钱包位置

  

设置钱包路径,并将用户PeerAdmin与应用程序检查相关联   用户已注册,并在网络Make查询中设置查询URL   分配transaction_id:   27d48de27350bbeeb3adae69ec5e783d3af1c42af03230877f71c3343bfbc905   错误:[client-utils.js]:sendPeersProposal - 拒绝承诺:   错误:无法反序列化创建者身份,错误提供   身份无效,Verify()返回x509:证书签名   未知权限(可能是因为“x509:ECDSA验证   在尝试验证候选机构证书时失败   “ca.org1.example.com”)       at /home/eres_admin/hyperledger/fabric-samples/fabcar/node_modules/grpc/src/node/src/client.js:554:15   从查询返回查询结果计数=来自query = {1的错误   错误:无法反序列化创建者身份,错误提供   身份无效,Verify()返回x509:证书签名   未知权限(可能是因为“x509:ECDSA验证   在尝试验证候选机构证书时失败   “ca.org1.example.com”)       at /home/eres_admin/hyperledger/fabric-samples/fabcar/node_modules/grpc/src/node/src/client.js:554:15   代码:2,元数据:元数据{_internal_repr:{}​​}}响应是   错误:无法反序列化创建者身份,错误提供   身份无效,Verify()返回x509:证书签名   未知权限(可能是因为“x509:ECDSA验证   在尝试验证候选机构证书时失败   “ca.org1.example.com”)

我正在使用节点版本6.11.4我是否需要使用任何其他版本或错误是由于其他原因。

1 个答案:

答案 0 :(得分:1)

TL; DR机会是您正在使用的docker撰写的已编码CA密钥的名称,但您重新生成了加密材料,从而更改了密钥和文件名。

我有完全相同的错误,发现发生此错误是因为basic-network / docker-compose.yaml具有CA密钥硬编码。如果重新生成加密材料(例如,在basic-network中,则执行generate.sh),密钥文件名会更改。因此,CA无法找到密钥。

重新生成加密材料后,您应该更改FABRIC_CA_SERVER_CA_KEYFILE

...
services:
  ca.example.com:
    image: hyperledger/fabric-ca
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ca.example.com
      - FABRIC_CA_SERVER_CA_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem
      - FABRIC_CA_SERVER_CA_KEYFILE=/etc/hyperledger/fabric-ca-server-config/4239aa0dcd76daeeb8ba0cda701851d14504d31aad1b2ddddbac6a57365e497c_sk
...

在此之后,query.js将正常工作。