Hyperledger Fabric 2.0 Chaincode Private Data Sample的一次pr

遇到了什么问题?

在尝试fabric-sample中有关private-data的案例中调用 Init 方法初始化链码:init函数不存在。
解决方式,加一个空函数即可。https://github.com/hyperledger/fabric-samples/pull/207已经提了。
https://github.com/hyperledger/fabric-samples/pull/207

总结

正如private data collection案例代码注释中阐释的那样。
为了正确的配置和使用private data collection,我们需要collections_config.json里定义。
为了正确的使用rich query,我们需要在对应的collection中添加index.json
结构
另外, 感谢david在pr的review中提到的,如果在fabric 2.0中如果我们不添加--init-required参数的话,如https://github.com/hyperledger/fabric/pull/1405,是不需要init函数的。这里是和1.4版本需要init函数的chaincode的区别。
至于我的两个pr为什么被close,是因为nikhil550 的comments。大家感兴趣可以看一下,https://github.com/hyperledger/fabric-samples/pull/207#issuecomment-644146557

什么是私有数据?

如果一个通道上的一组组织需要对该通道上的其他组织保持数据私有,则可以选择创建一个新通道,其中只包含需要访问数据的组织。但是,在每种情况下创建单独的通道会产生额外的管理开销(维护链码版本、策略、MSP等),并且不能在保留一部分数据私有的同时,可以让所有通道参与者看到该事务。

这就是为什么从v1.2开始,Fabric 提供了创建私有数据集合的功能,它允许在通道上定义的组织子集能够背书、提交或查询私有数据,而无需创建单独的通道。

步骤

在 Fabric 中使用私有数据
本教程将演示如何使用集合在区块链网络中授权的 Peer 节点上存储和检索私有数据。

本教程需要你已经掌握私有数据存储及其使用方法。更多信息,请查看 私有数据。…

验证2.0的新功能
dataHash
验证数据库
db
验证rich query

test-network % peer chaincode query -C mychannel -n marblesp -c '{"Args":["QueryMarbles","{\"selector\":{\"owner\":\"tom\"}}"]}'
[{"docType":"Marble","name":"marble1","color":"blue","size":35,"owner":"tom"}]

参考:

  • https://hyperledger-fabric.readthedocs.io/en/release-2.1/private_data_tutorial.html
  • https://hyperledger-fabric.readthedocs.io/zh_CN/latest/private-data/private-data.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值