Hyperledger Fabric,如何与另一个对等节点共享私有数据?

百灵达

我正在探索有关Hyperledger Fabric的更多信息,并对私有数据感兴趣。据我了解,对等节点创建私有数据时,它将与该私有数据的哈希一起存储在该节点上。未经授权的节点将仅存储私有数据的哈希,以便他们可以验证其存在。

我正在使用4个节点(三个对等节点,一个有序节点),其中Org1(对等节点)具有唯一的特权来创建值,该值必须对Org2(对等节点)可见,但必须对Org3(对等节点)不可见)。有没有一种方法可以做到这一点。这是来自IBM Blockchain Platform vscode扩展教程的Typescript链码样本,用于创建私有数据。

    @Transaction()
    public async createMyPrivateAsset(ctx: Context, myPrivateAssetId: string): Promise<void> {
        const exists: boolean = await this.myPrivateAssetExists(ctx, myPrivateAssetId);
        if (exists) {
            throw new Error(`The asset my private asset ${myPrivateAssetId} already exists`);
        }

        const privateAsset: MyPrivateAsset = new MyPrivateAsset();

        const transientData: Map<string, Uint8Array> = ctx.stub.getTransient();
        if (transientData.size === 0 || !transientData.has('privateValue')) {
            throw new Error('The privateValue key was not specified in transient data. Please try again.');
        }
        privateAsset.privateValue = transientData.get('privateValue').toString();

        const collectionName: string = await getCollectionName(ctx);
        await ctx.stub.putPrivateData(collectionName, myPrivateAssetId, Buffer.from(JSON.stringify(privateAsset)));
    }

我需要在这里更改一些内容吗?

提前致谢!

戴夫·恩诺特(Dave Enyeart)

是的,私有数据非常适合这种情况。有两种基本方法。

  1. 使用静态集合-创建一个以Org1和Org2为成员的集合,并将putPrivateData放入该集合。
  2. 使用隐式集合-putPrivateData到Org1隐式集合,而putPrivateData到Org2隐式集合。

使用后一种方法,您无需提前创建静态集合。如果将来再次授权Org3使用私有数据,它还允许您与Org3隐式集合共享私有数据。

有关更多详细信息,请参阅私有数据文档私有数据教程和示例

请注意,通过这种方法,Org3将知道Org1和Org2正在共享某些数据,但不会看到私有数据本身。如果您不希望Org3知道发生了交易,则可以使用Org1和Org2的通道,而不要使用私有数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

呼叫合同以HYPERLEDGER Fabric中的链码形式形成另一个合同

来自分类Dev

对等节点在 Hyperledger Fabric 中崩溃后如何检索旧数据?

来自分类Dev

在Hyperledger Fabric 2.0错误中实施私有数据收集

来自分类Dev

Hyperledger Fabric 中的私有数据是否适用读写原则?

来自分类Dev

Hyperledger fabric Crypto materials

来自分类Dev

Hyperledger Fabric的ChannelCreationPolicy

来自分类Dev

Hyperledger Fabric 通道

来自分类Dev

Hyperledger Fabric 中的 GOPATH

来自分类Dev

Hyperledger Fabric中节点,对等方和用户之间的差异

来自分类Dev

在Hyperledger Fabric 1.4.4中跨多个网络使用对等节点

来自分类Dev

如何安装hyperledger?

来自分类Dev

如何对Hyperledger Fabric进行审核?

来自分类Dev

Hyperledger Fabric:如何使组织既是对等节点又是订购者节点?

来自分类Dev

Hyperledger Fabric 中的对等通道创建失败

来自分类Dev

在 Hyperledger Fabric 中,什么是组织和对等?

来自分类Dev

Hyperledger Fabric 对等容器未出现

来自分类Dev

Hyperledger Fabric:第一个网络的用户界面

来自分类Dev

Hyperledger Fabric区块链信息

来自分类Dev

Hyperledger Fabric-Fabcar性能

来自分类Dev

Hyperledger Fabric 2.1 Chaincode安装

来自分类Dev

Hyperledger Fabric活动交付保证

来自分类Dev

Hyperledger Fabric 上的 Gossip 协议

来自分类Dev

Hyperledger Fabric cli 容器的作用

来自分类Dev

Hyperledger Composer 添加新节点

来自分类Dev

带有 javascript 的 Hyperledger Composer

来自分类Dev

在 Hyperledger Composer 中将资产的特定属性导入另一个用于交易

来自分类Dev

缺少数据Hyperledger Fabric Chaincode

来自分类Dev

Hyperledger Fabric的设置有什么问题?

来自分类Dev

Hyperledger Fabric是否有虚拟机?

Related 相关文章

热门标签

归档