查询.js在Hyperledger fabric fabcar示例中崩溃

时间:2017-08-27 15:16:12

标签: hyperledger hyperledger-fabric

在尝试运行fabcar的步骤中,超级费用教程的query.js示例崩溃了。

我删除了所有与hyperledger相关的docker镜像(使用docker rmi),因此在运行startFabric.sh时会自动下载所有必需的内容。启动时的输出看起来略微变暗"阴云密布"但不是很可疑(我跳过了关于下载图像的冗长输出):

# wait for Hyperledger Fabric to start
# incase of errors when running later commands, issue export FABRIC_START_TIMEOUT=<larger number>
export FABRIC_START_TIMEOUT=10
#echo ${FABRIC_START_TIMEOUT}
sleep ${FABRIC_START_TIMEOUT}

# Create the channel
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp" peer0.org1.example.com peer channel create -o orderer.example.com:7050 -c mychannel -f /etc/hyperledger/configtx/channel.tx
flag provided but not defined: -e
See 'docker exec --help'.

要求的下一步是

npm install

它也提供了大部分正常的输出,只有一个警告:

npm WARN fabcar@1.0.0 No repository field.

我已验证图片正在运行(还显示用户有权使用泊坞窗,而用户则 root):

docker ps

CONTAINER ID        IMAGE                                     COMMAND                  CREATED             STATUS              PORTS                                            NAMES
9acf0dd8a2e2        hyperledger/fabric-peer:x86_64-1.0.0      "peer node start"        20 seconds ago      Up 19 seconds       0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp   peer0.org1.example.com
da42dca3cbda        hyperledger/fabric-orderer:x86_64-1.0.0   "orderer"                20 seconds ago      Up 19 seconds       0.0.0.0:7050->7050/tcp                           orderer.example.com
0265c3cd86f2        hyperledger/fabric-ca:x86_64-1.0.0        "sh -c 'fabric-ca-ser"   20 seconds ago      Up 20 seconds       0.0.0.0:7054->7054/tcp                           ca.example.com
4f71895a78c0        hyperledger/fabric-couchdb:x86_64-1.0.0   "tini -- /docker-entr"   20 seconds ago      Up 19 seconds       4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp       couchdb

当我最终尝试运行时

node query.js

我发现以下错误:

Create a client and set the wallet location
Set wallet path, and associate user  PeerAdmin  with application
Check user is enrolled, and set a query URL in the network
Make query
Assigning transaction_id:  eb03c5e69259b880433861daf57a5ac2d33e41d93cebe80a7a478a1aa2cba711
error: [client-utils.js]: sendPeersProposal - Promise is rejected: Error: Endpoint read failed
    at /home/hla/fabric-samples/fabcar/node_modules/grpc/src/node/src/client.js:434:17
returned from query
Query result count =  1
error from query =  { Error: Endpoint read failed
    at /home/hla/fabric-samples/fabcar/node_modules/grpc/src/node/src/client.js:434:17 code: 14, metadata: Metadata { _internal_repr: {} } }
Response is  Error: Endpoint read failed

我的操作系统:

uname -a
Linux uhost 4.4.0-92-generic #115-Ubuntu SMP Thu Aug 10 09:04:33 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

我检查了this,但我的node.js版本是正确的:

node --version
v6.11.2

npm -- version
{ fabcar: '1.0.0',
  npm: '3.10.10',
  ares: '1.10.1-DEV',
  http_parser: '2.7.0',
  icu: '56.1',
  modules: '48',
  node: '6.11.2',
  openssl: '1.0.2l',
  uv: '1.11.0',
  v8: '5.1.281.103',
  zlib: '1.2.11' }

此外,错误消息完全不同。该机器正在使用端口8080和8443,但是当我厌倦了关闭使用它们的应用程序时,没有帮助。

1 个答案:

答案 0 :(得分:1)

那是因为您没有按照步骤进行操作..如它所说,在query.js之前,您应该先注册管理员并注册用户,然后它才能正常工作。并且不要关注“ npm WARN fabcar@1.0.0无存储库字段”,它很好用。请尝试以下操作:

$docker stop $(docker ps -a -q)
$docker ps -qa|xargs docker rm
$./startFabric.sh
$cd fabric-samples/fabcar/javascript
$node enrollAdmin.js
$npm install
$node registerUser.js
$node query.js

[Output result should look like this[1]