将 composer 连接到 Bluemix 上的区块链的问题 - 身份或令牌不匹配

Issue connecting composer to Blockchain on Bluemix - identity or token does not match

我在我的 mac 上安装了 fabric composer 0.72,并且我能够关注此线程以将其连接到我在 Bluemix 上的区块链(Fabric 的 v.61)。

现在我正在尝试在那里构建一个 ubuntu (16.04) docker 容器和 运行 composer-rest-server。当我尝试从我的 docker 容器连接到我的区块链服务时(使用我在 mac 上使用的相同 ID WebAppAdmin),我收到错误消息:

Discovering types from business network definition ...
Connection fails: Error: Identity or token does not match.
It will be retried for the next request.
{ Error: Identity or token does not match.
     at /home/composer/.nvm/versions/node/v6.10.3/lib/node_modules  /composer-rest-server/node_modules/grpc/src/node/src/client.js:417:17 code: 2, metadata: Metadata { _internal_repr: {} } }

我尝试将证书从我的 mac 复制到我的 docker 容器:

/home/composer/.composer-credentials/member.WebAppAdmin

但是当我这样做时,我得到了一个不同的错误 "signature does not verify"。我做了一些额外的测试,我发现如果我使用一个我以前没有用过作曲家的 ID(即 user_type1_0),那么我可以连接,并且我可以在我的 .composer-credentials 目录中看到一个新证书.

我尝试删除那个容器并构建一个新容器(我把其他东西搞砸了)我无法再次使用同一个用户标识。

有人知道安全和这些证书应该如何工作吗?似乎与证书 generation/validation 有关的事情与客户端(即硬件地址)相关联,这样如果我尝试在不同的 machine 上重新使用 id,则证书或键或其他东西不匹配。我有办法让事情正常进行,但如果我不能使用来自不同 machines 的相同 ID,这似乎不是正确的方法。

谢谢!

我也遇到过这个问题,得出的结论是

在包括 Bluemix 的云环境中使用 Composer 部署网络时存在不一致的行为。问题不在于 composer,而在于 fabric 0.6。

我假设此问题也间接与 fabric 0.6 中的以下已知错误有关,而 fabric 0.6 中不会修复这些错误。

错误:

"

投掷者; // 未处理的 'error' 事件 ^

错误 在 ClientDuplexStream._emitStatusIfDone (/home/ubuntu/.nvm/versions/node/v6.9.5/lib/node_modules/composer-cli/node_modules/grpc/src/node/src/client.js:189:19) 在 ClientDuplexStream._readsDone (/home/ubuntu/.nvm/versions/node/v6.9.5/lib/node_modules/composer-cli/node_modules/grpc/src/node/src/client.js:158:8) 在 readCallback (/home/ubuntu/.nvm/versions/node/v6.9.5/lib/node_modules/composer-cli/node_modules/grpc/src/node/src/client.js:217:12)

"

到目前为止,我们了解到以下三个 JIRA 是根本原因,其中云网络层在一段时间不活动后最终终止了空闲事件中心连接,而 fabric SDK 无法处理此问题。

https://jira.hyperledger.org/browse/FAB-4002 FAB-3310

https://jira.hyperledger.org/browse/FAB-3310

或 FAB-2787

结论:

  • 没有其他方法可以解决 Bluemix 或任何使用 fabric 0.6 的云环境的问题
  • 您可能不会遇到 Fabric 1.0 的这个问题,但仍有可能,因为上述所有缺陷尚未修复。

嗨,我试图通过在 unix machine 上使用区块链 运行 来重新创建它,然后我将我的连接配置文件和证书复制到我的 mac,然后编辑我的连接配置文件更新 IP 地址和密钥库。然后我做了一个 composer network ping,它工作正常。

我使用的是 composer v0.7.4,你可以试试吗?