首页 > 解决方案 > 超级账本结构删除复合键未删除

问题描述

我正在使用最新的 Fabric(1.1?)我对删除复合键有疑问,这就是我所做的:

1) 使用 CreateCompositeKey 创建密钥

2) 调用 PutState 键

3) 为该键调用 GetStateByPartialCompositeKey 并找到该键

4) 在找到的密钥上调用 DelState

5) 调用 GetStateByPartialCompositeKey 来查看密钥是否被删除但令人惊讶的是仍然找到了密钥

任何想法?是不是因为仅仅找到密钥还不够好,我需要做一个“GetState”来查看密钥是否仍然存在?

标签: hyperledger-fabrichyperledger-composer

解决方案


在 Fabric 2.2 上,您可以像这样删除复合键:

const indexToDelete = await ctx.stub.createCompositeKey('attribute1~attribute2', [var1, var2]);
await ctx.stub.putState(indexToDelete, null);

推荐阅读