我已经部署了Hyperledger Fabric演示中的示例"第一个网络"。当我运行这个时:
./byfn.sh -m up
它执行时没有错误。当 docker 仍在启动并运行时,我尝试运行
peer query -C mychannel -n mycc -c {"Args":["query","a"]}
我收到一个错误:
"无法反序列化标识,错误 MSP 默认值未知"。
我做了一些研究,但没有发现任何帮助。有人有想法吗?对不起,我希望我就在这个频道里。提前非常感谢!查询是从 script.sh 复制的,该查询由
./byfn.sh -m up
如果我直接运行它,它不知何故不起作用。
您的问题中缺少的是您究竟在哪里运行:
peer query -C mychannel -n mycc -c {"Args":["query","a"]}
为了使peer cli
能够正常运行,您必须提供一组环境变量。基本上,您需要指向认可对等体和 MSP 配置,同时设置 MSP ID。所以我的教育性猜测是,你没有配置这些值,因此有错误。
为了解决您的问题,您可以:
- 连接到已初始化并在完成后运行的
cli
docker 映像
$ ./byfn -m up
通过调用$ docker exec -it cli /bin/bash
这将提示您使用我上面解释的参数配置的容器。
- 另一种方法是自行设置这些参数,例如:
$ export CORE_PEER_ADDRESS=endorsing_peer_IP:7051
$ export CORE_PEER_LOCALMSPID=Org1MSP
$ export CORE_PEER_MSPCONFIGPATH=/tmp/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp
其中endorsing_peer_IP
是认可对等方的 IP,CORE_PEER_MSPCONFIGPATH
指向 MSP 目录。