首页区块链技术智能合约Hyperledger Fabric系统学习入门准备-第九节
  • 评论(2)

分享到

微博

微信

QQ

Hyperledger Fabric系统学习入门准备-第九节

本教程将使用在构建您的第一个网络(BYFN)教程网络上运行的大marble私有数据示例来演示如何创建,部署和使用私有数据集合。大理石私有数据样本将部署到构建您的第一个网络(BYFN)教程网络。您应该已经完成了安装样本,二进制文件和Docker镜像的任务;但是,运行BYFN教程不是本教程的先决条件。相反,本教程中提供了必要的命令来使用网络。我们将描述每个步骤中发生的事情,使得在不实际运行示例的情况下理解教程成为可能。


构建集合定义JSON文件


将通道上的数据私有化的第一步是构建一个集合定义,用于定义对私有数据的访问。


集合定义描述了谁可以持久保存数据,数据分配到多少对等点,传播私有数据需要多少对等点,以及私有数据在私有数据库中保留多长时间。稍后,我们将演示如何使用链码API PutPrivateData和GetPrivateData将集合映射到受保护的私有数据。


集合定义由五个属性组成:

name:集合的名称。

policy:定义允许持久保存集合数据的组织对等体。

requiredPeerCount:传播私有数据所需的对等体数量,作为认可链码的条件

maxPeerCount:出于数据冗余目的,当前认可对等体将尝试将数据分发到的其他对等体的数量。如果支持对等体发生故障,那么如果有请求提取私有数据,则这些其他对等体在提交时可用。

blockToLive:对于非常敏感的信息,例如定价或个人信息,此值表示数据应以块的形式存在于私有数据库中的时间。数据将在私有数据库上为此指定数量的块生效,之后将被清除,从而使这些数据从网络中过时。要无限期地保留私有数据,即永远不会清除私有数据,请将blockToLive属性设置为0。

为了说明私有数据的使用,弹珠私有数据示例包含两个私有数据集合定义:collectionMarbles和collectionMarblePrivateDetails。 collectionMarbles定义中的policy属性允许通道的所有成员(Org1和Org2)在私有数据库中拥有私有数据。 collectionMarblesPrivateDetails集合仅允许Org1的成员在其私有数据库中拥有私有数据。


有关构建策略定义的更多信息,请参阅“认可策略”主题。


// collections_config.json

[
  {
       "name": "collectionMarbles",
       "policy": "OR('Org1MSP.member', 'Org2MSP.member')",
       "requiredPeerCount": 0,
       "maxPeerCount": 3,
       "blockToLive":1000000
  },

  {
       "name": "collectionMarblePrivateDetails",
       "policy": "OR('Org1MSP.member')",
       "requiredPeerCount": 0,
       "maxPeerCount": 3,
       "blockToLive":3
  }
]


这些策略要保护的数据以链代码映射,稍后将在本教程中显示。

©免责声明和风险提示:本文系用户自行发布或转载,不代表比特万象任何观点,如有任何形式的转载请联系原作者。文章中的所有内容均不构成比特万象任何的投资建议及意见、立场,请您根据自身评估做出理性决策。比特万象仅提供网络存储空间服务,如文章侵犯到您的合法权利,请您通知比特万象予以删除。
粤ICP备17084271号-2 Copyright © 比特万象 版权所有