文章目录
- 一、Fabric账本
- 二、区块链
- 2.1 区块信息
- 2.2 交易信息
- 三、世界状态
一、Fabric账本
Fabric账本是有序的、不可篡改的状态转换记录,包括区块链(Blockchain)和世界状态(World stat)两部分。
- 区块链中保存着不可变的顺序记录,包含配置记录,例如channel的配置;还包含全部交易记录;
- 世界状态中维护账本的当前状态,方便Appication快速查询
二、区块链
区块链是一个历史交易记录,记录着所有数据对象是如何到达当前状态的。
下图中有4个区块B0、B1、B2、B3,第一个区块B0为创世区块(genesis block),保存一些配置信息,包括Order、peer的信息和证书信息;后面的区块B1、B2、B3则保存着后续交易信息:
2.1 区块信息
区块分为3部分,分别为区块头(Block header)、区块数据(Block Data)、区块元数据(Block Metadata):
- 区块头里面包含区块序号(Block number)、当前区块哈希(Current Block Hash)、上一个区块哈希(Previous Block Hash),
- 区块数据就是一系列交易数据;
- 区块元数据主要包含区块写入时间、写入的人以及签名。
2.2 交易信息
交易(Transaction)保存着捕获的关于交易的一些基本元数据:
- transaction header:chaincode名字、版本等信息
- signature:client的签名
- proposal:client的提案,主要是一些输入参数
- response:智能合约执行前后的数据
- endorsement:所有背书节点各自返回的背书结果,由背书策略而定,可能有多个
三、世界状态
世界状态维护着一组业务对象的当前状态。采用KV数据库的形式,每组数据包含key、value以及version,每次修改数据时version都会增加。查询数据时,直接通过状态数据库就可以快速地获取数据。如下所示:
下图列出了账本中的数据示例:
最后
以上就是无私帅哥最近收集整理的关于Fabric v1.x 账本与状态数据库一、Fabric账本二、区块链三、世界状态的全部内容,更多相关Fabric内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复