组织:
是指这样的一个社会实体,内部有很多成员。
在Fabric中组织中含有的:
1.User多个
2.进行数据处理的节点多个(peer)
put,get来处理data
节点: //fabric中节点可以分类
client
进行交易管理 实现方式->(Cli,node sdk,java sdk).
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.通过设置条件来调整。
背书策略: //不是字面意思
完成一笔交易的具体过程就叫背书。
其实就是交易的方案。
先进行模拟演示成功后再真正执行
背书流程发送在预演阶段