rest - channel :mychannel received discovery error:access denied Failed to evaluate transaction: Error: DiscoveryService: mychannel error: access denied

标签 rest express ubuntu hyperledger-fabric

我在 ubuntu 上使用 Hyperledger Fabric 2.2。我正在尝试借助 article 使用 express.js 创建 REST API .
我的结构网络和 apiserver.js 在同一台服务器上。

  • 这是否意味着我可以通过上述文章中的给定建议使用 localhost 而不是结构主机的 IP 地址。

  • 如果我可以使用本地主机,则无需更改连接配置文件吗?
    因此,我尝试使用命令 进行查询 curl http://localost:8080/api/queryallcars
    但我收到错误 curl: (7) 无法连接到 localhost 端口 8080:连接被拒绝
    & 错误:[DiscoveryService]:send[mychannel] - channel :mychannel 收到发现错误:访问被拒绝
    无法评估事务:错误:DiscoveryService:mychannel 错误:访问被拒绝
    另外,我在 apiserver.js 文件中启用了发现:{ enabled: true, asLocalhost: true}。
    我在哪里做错了?
    先感谢您!
    更新:@Jerome O'Mahony 给出的答案对我有用!

    最佳答案

    if i can use local host there is no need to change connection profile right?


    请记住,每次构建网络时,都会创建一个新的客户端连接配置文件 (CCP) 文件。因此,您必须将最新版本复制到您的 API 连接代码所在的位置。您还需要为您的钱包执行注册管理员和注册用户(删除旧的)。您可以复制 CCP 文件,也可以在 API 代码中创建一个符号链接(symbolic link),指向组织下对等目录中的最新版本。
    您的 REST API 是否实际上在端口 8080 上运行。创建一个以 JSON 格式返回“Hello World”的测试页面,这样您至少可以在担心 API 的机制是否可以连接到 Hyperledger 之前验证它的工作原理。
    此外,在添加 API 的复杂性之前,最好使用一个小型命令行测试程序来查看您是否可以连接并查询 Hyperledger 网络。

    关于rest - channel :mychannel received discovery error:access denied Failed to evaluate transaction: Error: DiscoveryService: mychannel error: access denied,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71705611/

    相关文章:

    rest - 有没有办法通过 Outlook API 获取建议的联系人?

    node.js - NodeJS Swig 数学

    javascript - Express.js 对本地主机上的 php 内置服务器的管道请求导致 ECONNREFUSED

    node.js - mongoose 到 mongoDB 连接失败

    ubuntu - 在 Ubuntu 12.04 LTS 上,lien 下的 ClojureScript repl 失败并出现 FileNotFoundException

    javascript - 如何从 javascript 发布 json?

    java - 类型引用<Map<String, String>>() { }

    java - 如何在 REST Web 服务中使用 json 生成 http 响应?

    linux - 我在 linux ubuntu 20.04 上安装 dotnet sdk 时遇到问题

    mysql - 无法在 Ubuntu 14.04 上启动 mysql 服务器