组织:

  是指这样的一个社会实体,内部有很多成员。

  在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.通过设置条件来调整。

 

背书策略:  //不是字面意思

  完成一笔交易的具体过程就叫背书。

  其实就是交易的方案。

  先进行模拟演示成功后再真正执行

  背书流程发送在预演阶段