【问题标题】:Hyperledger Fabric: Unable to Invoke using Node SDKHyperledger Fabric:无法使用 Node SDK 调用
【发布时间】:2019-07-30 06:08:15
【问题描述】:

我在 Hyperledger Fabric 节点 SDK 中遇到问题。

网络详情:

  1. 该网络由 4 个组织组成,每个组织部署在不同的 Kubernetes 集群上。
  2. 每个组织都有 2 个同行加入了一个频道,比如 mychannel。
  3. 每个组织都有 1 个正在运行的 CA。
  4. 订购服务为 Raft。
  5. CouchDB 按规定使用b。
  6. 来自 CLI 的调用也正常工作,并且正在所有 8 个对等方之间同步数据。
  7. Hypelredger 浏览器已启动并运行一个组织详细信息,并且能够在仪表板中列出所有其他 6 个对等方。

现在回到问题,我尝试为 Org1 部署 Node.js SDK。 我创建了一个连接配置文件,其中包含 Org1 Peers、Orderer 和 CA 的详细信息。

用户已注册(管理员和用户 1)。

现在当我尝试调用事务时,有两种情况:

  1. 服务发现已启用:在这种情况下,SDK 会尝试与网络中的其他对等点和创建者组织对等点进行通信,但都返回上下文截止日期超出错误。

  2. 服务发现已禁用:调用成功。

我不知道为什么启用服务发现时调用事务会失败。

【问题讨论】:

  • 你能添加你的 core.yaml/docker compose 文件吗?将有助于解决您的问题。
  • 其实是部署在4个Kubernetes集群上

标签: hyperledger-fabric hyperledger


【解决方案1】:

当我将主机别名添加到我的 /etc/hosts 文件中后,上述问题得到解决。

我需要在 /etc/hosts 文件中添加每个对等方的主机名和 IP。

添加主机名后,SDK 开始工作。

谢谢

【讨论】:

    【解决方案2】:

    可能是您的锚点配置不正确,因为发现会报告这些,并且一些客户端会使用它们。

    【讨论】:

    • 是的,锚节点定义正确,因为数据正在节点之间同步。
    • 超级账本浏览器已启动并能够检测网络中的其他对等方
    • 这只是意味着来自 k8s 内部的对等点可以看到其他对等点。尝试从 k8s 外部解析时,锚点必须正确解析。让 k8s 在这里正常工作是非常困难的,因为 DNS 设计从根本上被破坏了。
    • 浏览器能否跨集群或从集群外部查看对等点?
    • 是的,它能够检测到网络中的每一个对等点
    猜你喜欢
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多