docker - Hyperledger Fabric - 在 fabcar 上查询汽车返回错误:14 不可用:连接失败
问题描述
背景
我目前正在学习 Hyperledger Fabric。因此,我在本地安装了先决条件,并尝试按照本教程了解fabcar
.
问题
一切都很顺利,直到我跑了node query.js
,它返回了这个错误:
Store path:/home/me/fabric-samples/fabcar/hfc-key-store
Successfully loaded user1 from persistence
error: [client-utils.js]: sendPeersProposal - Promise is rejected: Error: 14 UNAVAILABLE: Connect Failed
at new createStatusError (/home/me/fabric-samples/fabcar/node_modules/fabric-client/node_modules/grpc/src/client.js:64:15)
at /home/me/fabric-samples/fabcar/node_modules/fabric-client/node_modules/grpc/src/client.js:583:15
Query has completed, checking results
error from query = { Error: 14 UNAVAILABLE: Connect Failed
at new createStatusError (/home/me/fabric-samples/fabcar/node_modules/fabric-client/node_modules/grpc/src/client.js:64:15)
at /home/me/fabric-samples/fabcar/node_modules/fabric-client/node_modules/grpc/src/client.js:583:15
code: 14,
metadata: Metadata { _internal_repr: {} },
details: 'Connect Failed' }
解决方案尝试
我已经尝试遵循类似问题的答案,尤其是这个: Hyperledger fabcar sample fabric shows connect failed ERROR。
所以我跑了ifconfig
(删除所有容器后):
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:b3:67:1a:ec txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp1s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether c8:d3:ff:25:43:ff txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 282 bytes 24402 (24.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 282 bytes 24402 (24.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.30 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::99eb:462:7866:d63 prefixlen 64 scopeid 0x20<link>
ether 30:e3:7a:2c:4d:ae txqueuelen 1000 (Ethernet)
RX packets 419 bytes 86802 (86.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 391 bytes 64650 (64.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
localhost
然后我用192.168.1.30
in替换query.js
:
var peer = fabric_client.newPeer('grpc://192.168.1.30:7051');
和invoke.js
:
var peer = fabric_client.newPeer('grpc://192.168.1.30:7051');
var order = fabric_client.newOrderer('grpc://192.168.1.30:7050')
event_hub.setPeerAddr('grpc://192.168.1.30:7053');
我从头开始做了所有的事情,但是在查询汽车时它产生了同样的错误。
我也尝试过这里的解决方案,但是我的 bashrc 中没有代理行,所以没有什么可评论的。
任何帮助表示赞赏。
其他信息
操作系统:Ubuntu 18.04
npm 版本:6.14.1
docker ps -a
:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
63e05790822a hyperledger/fabric-peer "peer node start" About a minute ago Exited (2) About a minute ago peer0.org1.example.com
5c0403f2016c hyperledger/fabric-orderer "orderer" About a minute ago Up About a minute 0.0.0.0:7050->7050/tcp orderer.example.com
b3875081b310 hyperledger/fabric-couchdb "tini -- /docker-ent…" About a minute ago Up About a minute 4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp couchdb
710379df45ac hyperledger/fabric-ca "sh -c 'fabric-ca-se…" About a minute ago Up About a minute 0.0.0.0:7054->7054/tcp ca.example.com
解决方案
因为我不知道还能做什么,所以我删除了所有内容并从头开始,这次使用的是最新的 fabric-samples 版本(我之前没有意识到我使用的是旧版本)。之后它工作顺利,即没有遇到任何错误。
推荐阅读
- javascript - 使用 HTML 捕获树莓派相机的 webview 显示图片
- android - Retrofit2 GET注解动态url
- ios - iOS 和 Swift - 获取一个对象的屏幕位置来设置另一个对象的位置
- r - ggplot中数据框中的多个分组变量
- http - cookie 值中是否允许使用逗号。规格不清楚
- odbc - 如何为 UnixODBC 配置默认驱动程序?
- r - 根据 k-fold 交叉验证中的 fold 从训练数据中选择样本
- .htaccess - .htaccess 上的通配符重定向
- android - BLE Peripheral 的广告能否唤醒并触发与 Master Android 设备的连接?
- php - 从命令行与 PHP 运行脚本的不同结果