我可以使用单个Bluemix区块链服务使用多个链代码吗?

时间:2016-04-04 07:04:24

标签: ibm-cloud blockchain

我是IBM Bluemix Blockchain服务的新手。我想知道我是否可以创建多个链代码。这是因为我收到了以下错误。

! looks like an error loading the chaincode or network, app will fail
{ name: 'register() error',
code: 401,
details: { Error: 'rpc error: code = 13 desc = \'server closed the stream without sending trailers\'' } }

以下是我的所作所为:

  1. 创建区块链服务,并命名为'blockchain'
  2. 运行cp-web example =>成功
  3. 使用现有区块链服务'blockchain')运行marbles demo。 =>给我上述错误
  4. 新建区块链服务,名称为“ mbblochchain
  5. 使用新服务名称重新注册大理石演示=>成功
  6. 所以我想知道我是否可以将多个链码放入对等网络。我可能会误解它的工作原理或行为方式。

2 个答案:

答案 0 :(得分:1)

是的,您可以在同一网络上部署多个链代码。您遇到的问题是因为每个应用都以不同方式注册用户。

目前只能为1个对等体注册1个用户名(aka enrollID)。如果您尝试针对两个对等方注册相同的用户名,则第二次注册将失败。这就是你发生的事情。

Bluemix区块链服务返回两个type1用户名(type1是这些应用想要使用的enrollID类型)。

  • cp-web将针对peer vp1
  • 注册第一个和第二个enrollID
  • 弹珠将针对vp1注册第一个enrollID,针对vp2
  • 注册第二个enrollID

因此,当您在cp-web之后运行大理石时,它尝试在已经使用vp1注册时向vp2注册第二个enrollID。因此给你一个错误。

答案 1 :(得分:0)

通常,您可以将多个链代码应用部署到Bluemix Blockchain服务的单个实例,更广泛地说,将多个链代码应用部署到单个对等网络。

您是使用" cf push"直接部署网络应用程序?并尝试绑定到现有的Blockchain服务实例或尝试使用"部署到Bluemix"功能?