hyperledger fabric基础概念

fabric基础概念

节点

peer节点

1.存储账本
2.安装智能合约
3.接收并处理客户端的请求
4.使用的镜像: hyperledger/fabric-peer
5.分为四个角色

客户端节点

1.连接peer节点、 orderer节点
2.发送请求给peer节点
3.镜像: hyperledger/fabric-tools

orderer节点

1.对交易排序:解决双花问题
	使用的排序算法:
		solo用于环境测试:
		(1)只需要一个orderer节点
		(2)这个orderer节点运行在docker中
		(3)使用的镜像: hyperledger/fabric-orderer

		kafka工作环境中使用,分布式的消息处理系统:
		(1)需要orderer节点:运行在docker中, 使用的镜像: hyperledger/fabric-orderer		  
		(2)需要kafka节点: 运行在docker中, 使用的镜像: hyperledger/fabric-kafka
		(3)需要zookeeper节点:运行在docker中, 使用的镜像: hyperledger/fabric-zookeeper

2.对交易打包,出块频率可设置
3.镜像: hyperledger/fabric-orderer
关于peer,ledger和chaincode

在这里插入图片描述
peer:节点

ledger:账本

chaincode:链码

每个peer节点上都有智能合约, 对账本进行管理

  • 一个peer上可以有多个账本,通过加入到不同的通道
  • 一个peer可以有多个合约
关于channel

channel:通道

  1. 用来隔离数据的, 用户在不同的通道中, 使用的数据是不同的, 而且数据不共享, 理解为群.
  2. 通道是由共识服务(ordering)提供的一种通讯机制,将peer和orderer连接在一起,形成一个具有保密性的通讯链路(虚拟),实现了业务隔离的要求.
  3. 每个通道有一个唯一的名字.

在这里插入图片描述
4. peer节点如果要共享数据, 必须要加入到同一个通道
5. 加入到同一个通道的节点上的账本数据的相同的
6. P1和P2上的智能合约可以不同(P1 卖家,P2买家)
7. 对peer节点上账本数据的操作, 是通过客户端完成的

发送查询请求   
交易的请求
组织

fabric中的组织是通过职能划分的, 每个组织中可以有很多用户.

一个组织里边有:
	1 - N个用户  
	存储账本的peer节点

在这里插入图片描述
Org1-org4: 组织
A1-A4: 客户端
不同的组织的客户端不同, 不同组织处理的业务逻辑不同

交易流程

在这里插入图片描述

  1. 客户端发送请求到peer节点
  2. peer节点收到请求, 通过安装的智能合约对请求进行处理
  3. peer将处理 的结果发送给客户端 -> 客户端拿到了请求的结果
  4. 以上三步只是进行交易的模拟, 账本数据并没有被修改
  5. 客户端收集到了所有参与交易的节点的回复
  6. 有一部分同意
  7. 有一部分不同意
  8. 客户端将交易请求和模拟交易的结果发送给orderer节点
  9. orderer将得到的数据进行排序打包
  10. orderer将打包的数据发送给peer节点
  11. 得到区块的peer对其中的交易进行校验
  12. 因为有一部分模拟结果失败了, 因此交易失败
    失败: 账本数据数据是不会被修改的
  13. 校验没问题
    修改账本数据
  14. peer将校验的结果发送给客户端
账本

在peer节点上,通过智能合约操作链码相关的 API ,完成读写账本.
在这里插入图片描述
账本分为:

  1. 世界状态

    最后一个交易完成之后的状态
    通过key:value结构存储数据
    世界状态的变更是通过读区块链数据来完成的
    
  2. 区块链

    所有交易的历史记录
    

在这里插入图片描述

区块链中的数据:

D1 - Dn: 数据块

H1 - Hn: 区块头

  1. 第一个区块: 创始(世)区块

    不存储数据
    存储通道节点信息
    
  2. 之后的区块:

     上一个区块的哈希
     当前区块的哈希 
     T1 - Tn: 交易
    
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值