超账结构中的不可变交易

问题描述

您好,我有一个有关超级账本结构交易的查询。因此,在fabcar示例中,我们以链代码创建了一个car对象,并通过更改其所有者等操作了它。我的问题是所有这一切中的交易在哪里?什么是不变的?我们可以从链码中获得交易历史吗?还是我们必须实现自己登录代码以记录和保存带有日期的链式代码中的数据更改或操作?

解决方法

  1. 如果添加新记录或更新现有记录,则这些记录将被视为具有fabcar链码的交易。您可以通过查询分类帐找到所有这些交易。

  2. 记录和交易记录是不可变的。例如,Car1的当前所有者是Syed。此记录是不可变的,没有人可以非法更改此所有权。赛义德以前是从Zain购买这辆车的。因此所有权从Zain更改为Syed。所有这些记录都保持不变。

  3. 是的,我们可以通过查询分类帐来获取所有先前的密钥历史记录。您必须调用“ stub.GetHistoryForKey”。您可以在"marbles_chaincode.js"

    中找到答案
  4. 您不需要在公共密钥密码学中进行任何登录,对于链码中的访问控制,您可以使用基于属性的访问控制或ABAC。当前,您可以使用带有go chaincode的ABAC的“ github.com/hyperledger/fabric-chaincode-go/pkg/cid”软件包。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...