组织:java
是指这样的一个社会实体,内部有不少成员。node
在Fabric中组织中含有的:shell
1.User多个api
2.进行数据处理的节点多个(peer)浏览器
put,get来处理data工具
节点: //fabric中节点能够分类区块链
client命令行
进行交易管理 实现方式->(Cli,node sdk,java sdk).blog
Cli:经过命令行使用shell对data进行数据提交和查询。排序
nodejs:经过浏览器nodejs的PI来实现
java ->经过java api实现客户端
一样的Go也能够
peer
存储和同步帐户数据
用户经过客户端工具进行put操做,数据写入到一个节点里
数据同步是Fabric本身完成
orderer
对交易进行排序和分发。//排序来解决双花问题,同一个时间点发起多段交易
交易数据先进行打包而后写入到区块里
通道channel: //节点在同一个channel才能互相通讯
channel是有共识服务(ordering)提供的一种通信机制,将peer和orderer链接在一块儿,造成一个个具备保密性的通信链路,实现了业务的隔离,通道与帐本(ledger)和状态worldstate紧密联系
三条线表明三个通道
consensus Server也就是orderer节点。
一个peer节点能够加入多个channel
在同一个channel中使用的就是同一个区块链
交易数据的流程:
完成交易的前提:必需要有背书策略
假设条件:
组织A中的成员必须赞成
组织B中的成员也必须赞成
1.ApplicationSDK:
充当客户端角色
做用:
1.写数据,查询数据
2.客户端发起一个提案,给peer节点
会发送给组织和组织中的节点
在当前假设下:
须要发送给组织A和组织B中的节点。
3.在peer节点将进行交易进行预演,获得一个结果
4.peer节点将交易结果发送给客户端
若是模拟交易失败,终止交易
若是成功就继续
5.客户端将交易提交给排序节点
6.orderer对交易打包
7.数据同步发给peer节点,peer节点把数据写入区块链,而后同步全部peer
1.打包数据的发送
1.当存了足够的量后才会发送,而不是实时的。
2.经过设置条件来调整。
背书策略: //不是字面意思
完成一笔交易的具体过程就叫背书。
其实就是交易的方案。
先进行模拟演示成功后再真正执行
背书流程发送在预演阶段