热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

fabricinvoke(query)报错Error:FailedtoconnectbeforethedeadlineURL:grpcs://localhost:7051

fabricinvoke(query)报错Error:FailedtoconnectbeforethedeadlineURL:grpcs:localhost:7051,Go语言社区
背景

基于fabric1.0搭建了一个区块链网络(1order,2org,4peer,1cli),安装本地chaincode之后,通过cli容器调用chaincode正常。然后编写getUserInfo.js(因为安装到网络中的chaincode有一个获取所有用户信息的功能)来获取用户信息。

问题描述

在cli容器中通过命令:

peer chaincode query -C mychannel -n mycc -c '{"Args":["getUserInfo","1001"]}'

获取信息正常,通过运行js脚本:

node getUserInfo.js

出现错误:

Error: Failed to connect before the deadline URL:grpcs://localhost:7051

详细报错结果如下图所示:
在这里插入图片描述
(上图是通过网页来调用getUserInfo.js,后台出现的错误代码,与直接运行运行node getUserInfo.js的报错结果一致,可怜我只保留了上图!)

解决办法

该问题的主要解决思路有以下几点:

1.检查node npm的版本

这种错误一般是fabric版本与node npm不匹配导致的,fabric版本目前最新1.4,如果用老版本的话node 和npm版本不能过高,可参考我最终运行成功的版本:

fabric 1.0.0
node 8.12.0
npm 6.4.1

同时还要注意js代码里面调用的fabric-ca-client与fabric-client还有grpc等依赖包的版本,下面是我的版本

"grpc": "^1.6.0",
"fabric-ca-client": "^1.0.0",
"fabric-client": "^1.0.0"
2.确定版本后npm install导入依赖包

可以先删除以前的依赖包,然后重新导入

rm -r node_modules
npm install
3.如果版本更改之后还报错,运行一下如下面命令(重要!!!):
npm rebuild

运行后截图如下:
在这里插入图片描述
完成之后问题解决了!!!

结果如下:
通过读取表单信息向fabric网络发送请求

表单填入1001,该id为我之前插入区块链网络中的数据(用户信息)的key,通过向区块链网络发送key来获取相应的values.
在这里插入图片描述
然后获取返回结果如下:
在这里插入图片描述

也可以在cli容器中运行相应命令获取相同结果

命令如下:

peer chaincode query -C mychannel -n mycc -c '{"Args":["getUserInfo","1001"]}'

输出结果如下:
在这里插入图片描述


推荐阅读
  • 如果说以比特币为代表的货币区块链技术为1.0,以以太坊为代表的合同区块链技术为2.0,那么实现了完备的权限控制和安全保障的Hyperledger项目毫无疑问代表着区块链技术3.0 ... [详细]
  • k8s入坑之路(14)scheduler调度 kubelet管理及健康检查
    kubelet主要功能Pod管理在kubernetes的设计中,最基本的管理单位是pod,而不是container。pod是kubernetes在容器上的一层封装,由一组运行在同一 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 谢邀。---2016.09.20补充---GitHub-gregmalcolmpython_koans:PythonKoans是个不错的练手项目,我还曾经给它贡献过代 ... [详细]
  • 【区块链之技术实战】区块链开源项目合集:Hello,BlockChain!
    在前面的文章中,咱们更偏向于金融方向的技术实践的案例和应用场景来谈区块链,但是往往有同学会问了,这些前沿技术是不是离我们太远了࿱ ... [详细]
  • AndroidWeeklyhttp:androidweekly.net这份免费的周报里面应有尽有,包括文章、教程、视频和Git ... [详细]
  • 这一点|主文_fabricSDKgo初探
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了fabric-SDK-go初探相关的知识,希望对你有一定的参考价值。1.环境安装本教程不会 ... [详细]
  • 可能会|人类_程序员架构修炼之道:如何设计“易理解”的系统架构?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了程序员架构修炼之道:如何设计“易理解”的系统架构?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • BSN公网2022.05.15版本更新内容解读
    BSN公网2022.05.15版本更新内容解读-id:BSN_2021公众号:BSN研习社区块链服务网络已于2022年5月15日完成BSN最新季度版本迭代。自2020年4月25日推 ... [详细]
  • 今天在学习NodeJS,不经意间发现,《Node.JS实战》书上提到了一个运行在JavaScript环境中的PC模拟器。读者你没有听错,是 ... [详细]
author-avatar
吴小彬x
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有