首页 文章

链代码存在于超级边缘结构中的哪个位置?

提问于
浏览
1

作为Blockchain和Hyperledger Fabric的新手,我试图找到以下问题的答案,

我计划使用IBM Bluemix入门计划,并使用在Hyperledger编写器中开发的BNA将链代码安装到样本结构网络 .

  • 在多组织,多对等设置(现实世界场景)中,Hyperledger Fabric网络中存在(或安装)链代码 - 它是局限于特定对等体还是通道中的所有对等体?

  • 如果链代码驻留在特定的对等体中,那么在对等体关闭的情况下(由于连接中断或其他无法预料的灾难)网络会发生什么情况 - 整个通道是否会在没有链码的情况下无法运行?

  • 各个对等体中的多个链代码如何访问超级分层结构中的同一组数据?

  • 我在http://hyperledger-fabric.readthedocs.io中看到了这个内容:“由链码创建的状态仅限于该链码,不能由另一个链码直接访问 . 在给定适当的许可的情况下,链代码可以在相同的通道或不同的通道中调用另一个链代码来访问其状态 . 请注意,如果被调用的链代码与调用链代码位于不同的通道上,则只允许读取查询“ . 但我不知道如何授予"appropriate permission" .

1 回答

  • 3

    在多组织,多对等设置(现实世界场景)中,Hyperledger Fabric网络中存在(或安装)链代码 - 它是局限于特定对等体还是通道中的所有对等体?

    Chaincodes安装在必须支持给定事务的每个对等体上 . 认可涉及使用一些给定的参数执行链代码,找出结果并对其进行签名(使用对等方的组织的MSP) . Chaincodes基于每个对等体安装,并且可以在一个或多个通道上实例化 . 如果peer属于某个 Channels 但不支持任何事务,那么它不需要链代码 . 它可以选择存储给定通道的分类帐(充当提交对等方) .

    如果链代码驻留在特定对等体中,那么在对等体关闭的情况下(由于连接中断或其他不可预见的灾难)网络会发生什么情况 - 整个通道是否会在没有链码的情况下无法运行?

    如果每个组织的MSP有多个支持同行,您可以顺利签署和继续交易 . 如您所述,每个ORG MSP设置多个对等体可以帮助实现崩溃容错 . 其次,如果每个ORG MSP只有一个对等方,并且您的认可政策是这样的,您绝对需要该MSP的签名才能使您的交易通过,那么该给定链代码的渠道交易将失败 . 同一 Channels 上的其他链代码,不需要此签名,仍然可以继续正常运行 .

    各个对等体中的多个链代码如何在超级分层结构中访问同一组数据?

    经许可,这意味着如果调用者组织的MSP有权访问该 Channels . 因此,如果您尝试从Channel1调用Channel2的数据,那么您(调用客户端)必须作为读取器/写入器成为该通道的一部分 .

相关问题