1443  
区块链数据是不可删除的,为什么Fabric的预置链码包里有删除功能, 这个删除功能如何理解?
作者: 郑小军 于 2020年02月24日 发布在分类 / BSN 常见问题 / BSN 官方专网 / 技术类问题 下,并于 2020年03月17日 编辑

Fabric的账本包含两部分:World state和区块链。World state通常使用数据库保存一组账本当前的状态值,这样就不用遍历所有的交易日志去计算当前的状态值,通常使用key-value键值对表示,状态值可被创建,更新和删除。区块链记录着决定World state状态的交易日志。交易的信息会收集起来追加到区块链,一旦写入,就不能修改。链码包中的删除功能是指从World state中删除指定的状态值,而区块链中的数据不会被删除,会增加一条新的交易记录“记录什么时间谁删除了什么数据”。预置链码包中已提供getHistory方法,线下业务系统可通过调用该方法获取到数据所有的增删改记录。

举例说明(简单说明删除功能,不代表获取历史记录只返回如下信息):保存test的值为a,更新test的值为b,此时获取test值为b,获取历史记录就会得到以下两条记录:1、test:a  2、test:b ,然后删除 test,获取test值提示查询的信息不存在,但是获取历史记录就会得到三条记录:1、test:a  2、test:b   3、已删除。



 推荐知识

 历史版本

修改日期 修改人 备注
2020-03-17 11:47:38[当前版本] 郑小军 内容标题修改
2020-03-12 13:20:38 陈曦 格式调整
2020-03-12 13:20:09 陈曦 格式调整
2020-03-12 11:28:56 陈曦 格式调整

区块链服务网络发展联盟