千家信息网

fabric private data数据集怎么配置

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇内容介绍了"fabric private data数据集怎么配置"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,
千家信息网最后更新 2025年02月01日fabric private data数据集怎么配置

本篇内容介绍了"fabric private data数据集怎么配置"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Hyperledger Fabric private data是1.2版本引入的新特性,fabric private data是利用旁支数据库(SideDB)来保存若干个通道成员之间的私有数据,从而在通道之上又提供了一层更灵活的数据保护机制。本文将介绍如何在链码开发中使用fabric private data。

如果要快速掌握hyperledger fabric区块链的开发,推荐汇智网的在线互动实战教程:

  • Hyperledger Fabric 区块链开发详解

  • Hyperledger Fabric java 区块链开发详解

fabric private data用例

我们使用Hyperledger Fabric中经典的fabcar案例来展示如何使用私有数据集。initLedger函数将在我们的数据集中创建10个新车。所有的这些车辆可以被网络中的任何人查看。现在让我们创建一个私有数据库,而这个数据将只和我们持有的另一个成员车库共享。

fabric private data数据集配置

我们首先需要一个数据集配置文件collections_config.json,它包含了私有数据集名称和访问策略。访问策略类似于背书策略,这允许我们使用已经存在的策略逻辑,例如OR、AND等。

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

修改链码以支持fabric private data

下面是原始的createCar函数:

async createCar(stubHelper: StubHelper, args: string[]) {      const verifiedArgs = await Helpers.checkArgs(args[0], Yup.object()          .shape({              key: Yup.string().required(),              make: Yup.string().required(),              model: Yup.string().required(),              color: Yup.string().required(),              owner: Yup.string().required(),          }));      let car = {          docType: 'car',          make: verifiedArgs.make,          model: verifiedArgs.model,          color: verifiedArgs.color,          owner: verifiedArgs.owner      };      await stubHelper.putState(verifiedArgs.key, car);}

要把数据加入私有数据集carCollection,我们需要指定目标数据集:

await stubHelper.putState(verifiedArgs.key, car, {privateCollection: 'carCollection'});

接下来,要查询车辆的话,我们也需要指定目标私有数据集:

async queryPrivateCar(stubHelper: StubHelper, args: string[]) {      const verifiedArgs = await Helpers.checkArgs(args[0], Yup.object()          .shape({              key: Yup.string().required(),          }));      const car = await stubHelper.getStateAsObject(verifiedArgs.key, {privateCollection: 'carCollection'});      if (!car) {          throw new NotFoundError('Car does not exist');      }      return car;}

同样,对于删除和更新操作,都需要指定要操作的目标私有数据集。

"fabric private data数据集怎么配置"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

数据 私有 配置 策略 开发 区块 目标 接下来 内容 函数 成员 数据库 更多 案例 知识 车辆 通道 原始 实用 学有所成 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 sql 数据库完整性约束 擎科软件开发 杭州视客网络技术有限公司 平安科技 社交互联网 电脑上传服务器很慢 搭建远程电脑服务器需要多少带款 方舟进mod服务器为什么慢 web服务器配置与管理怎么做 互联网科技公司怎么开发票 金水区网络安全基地 中国网络安全响应中心 单机版系统数据库 数据库设计技术指标 中公优就业网络安全培训多久 数据库中几种键联系和区别 邮箱服务器怎么接受邮件 软件开发电子签名 银河麒麟服务器v5 巨杉数据库国产兼容 网络安全事件登记和统计表 网络安全法规定成立领导小组 杭州乐点网络技术有限公司 街道网络安全保障方案 手机网易企业邮箱如何设置服务器 在数据库自动生成数据模型 淘房移动互联网络科技公司电话 dws 数据库 缩写 汝州市云端网络技术工作室地址 县一级网络安全和信息通信 楚雄服务器
0