在Bluemix上将组合器连接到Blockchain - 身份或令牌不匹配

时间:2017-05-26 14:20:57

标签: ibm-cloud blockchain hyperledger-composer

我的mac上安装了fabric composer 0.72,我可以按照这个线程将它连接到Bluemix上的Blockchain(v.61 of Fabric)。

fabric-composer-integration-with-bluemix-blockchain-service

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

while((Get-Process conhost -ErrorAction SilentlyContinue).Count -gt 4){Start-Sleep -Seconds 1}

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

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: {} } }

但是当我这样做时,我得到了一个不同的错误,表示"签名不会验证"。我做了一些额外的测试,我发现如果我使用了以前没有用过composer的id(即user_type1_0),那么我可以连接,我可以在.composer-credentials目录中看到一个新的证书。

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

有人知道安全性和这些证书应该如何运作吗?似乎与证书生成/验证有关的事情与客户端(即硬件地址)有关,这样如果我尝试在不同的机器上重新使用id,那么证书或密钥或其他东西就不会被包含在内。匹配。我有办法让事情有效,但如果我不能从不同的机器上使用相同的id,那么它似乎并不是正确的方法。

谢谢!

2 个答案:

答案 0 :(得分:0)

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

在包含Bluemix的云环境中使用composer部署网络时存在不一致的行为。问题不是作曲家,而是织物0.6。

我假设这个问题也间接地与跟踪织物0.6中的已知错误有关,这不会在结构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是根本原因,实际上云网络层在一段时间不活动后最终会杀死空闲事件中心连接,并且结构SDK无法处理此问题。

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

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

或FAB-2787

结论:

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

答案 1 :(得分:0)

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

我正在使用作曲家v0.7.4所以你可以试试吗?