Hyperledger Fabric 示意图

作者: 简闻 | 来源:发表于2017-04-07 10:49 被阅读2772次

    谢谢大家不断的为这篇文章点赞。从 3 月份开始专注于区块链开发,那时国内基本没有区块链的相关内容,科学上网还是必备技能,一点一点积累和开拓吧。现在国内有很多的各种链,大大小小的组织和会议,应该有很多的『新人』在做区块链了,我后面会为每一幅图解加一些文字解释,希望可以帮助到大家。如果有不对的地方大家也可以留言。

    1. fabric-ca.png

    fabric-ca.png

    有两种方式与 Fabric CA 服务端交互:通过 Fabric CA 客户端,或者 Fabric SDK,所有与 Fabric CA 的交互都是通过 REST APIs 来实现的。REST APIs 的 swagger 说明文档见 fabric-ca/swagger/swagger-fabric-ca.json

    swagger/swagger-fabric-ca.json APIs 的文档.

    Fabric CA 客户端或者 SDK 可能会连接到 Fabric CA 集群中某一个 Fabric CA 服务端,这一部分可以通过上图右上部分获得更好的理解。客户端连接的是一个 HA 代理节点,这个 HA 代理节点为 Fabric CA 集群作负载均衡。所有的 Fabric CA 服务端共享同一个数据库。数据库用来保存用户和证书信息。如果配置了 LDAP,那么用户信息将会保存在 LDAP 中,而不是数据库中。

    2. fabric-ca 运行时流程图.png

    fabric-ca 运行时流程图.png

    3. 两个不同的chaincode并行进行背书和共识处理的过程.png

    两个不同的chaincode并行进行背书和共识处理的过程.png

    4. transaction flow.png 这张图在文档中已经做了修改请看 图36

    transaction flow.png

    该流程图对应的交易处理步骤如下:
    1、Client发起交易,这个场景下的Client是通过Submitting Peer代理和其他Peer以及交易共识排序系统交互的,Client的接入合法性可由Submitting Peer来控制。主要看系统是如何设计的;
    2、Submitting Peer按照背书策略,继续发送交易给其他节点(Endorsing Peer),模拟执行智能合约(Chain Code),暂存合约执行结果(Key-Value读写集),但执行结果不会真正更新到本地账本和Key-Value 状态数据库中;
    3、Endorsing Peer验证交易签名,验证读写集版本依赖关系是否有效,并将结果发送给Submitting Peer;
    4、Submitting Peer收集Endorsing Peer的签名的执行结果和交易数据,发送到共识排序服务(Consensus Service,又称Ordering Service);
    5、共识排序系统按特定的共识算法将多笔交易排序打包成区块,并将区块递交给同一通道内的全部Peer;
    6、接收到区块的全部Peer检查验证区块里的每一笔交易,比对模拟执行读写集结果,根据比对结果设置交易是否生效,设定好标记,并更新本地账本和状态数据库,这时,交易才真正反映到区块链上;
    7、补充一个步骤,图中没有画出来,Submitting Peer需将交易是否执行成功等信息反馈给Client,或者Client可以通过调用SDK接收Fabric“事件”(event)得知交易执行结果。

    5. Data structures blocks forming.png

    Data structures blocks.png

    6. 多链与多通道.png

    多链与多通道.png

    7. 交易(数据)流程说明.png

    交易(数据)流程说明.png

    8. fabric 架构图.png

    fabric 架构图.png

    9. fabric 1.0 运行时架构图.png

    fabric 1.0 运行时架构图.png

    10. fabric 0.6 总体架构图.png

    fabric 0.6 总体架构图.png

    11. marbles comm_flow.png

    comm_flow.png

    12. fabric 交易的生命周期

    Fabric 交易的生命周期.png

    13. Chaincode Deployment Proposal.png

    Chaincode Deployment Proposal.png

    14. Chaincode Deployment Transaction.png

    Chaincode Deployment Transaction.png

    15. Endorse Transactions.png

    Endorse Transactions.png

    16. Commit Transactions.png

    Commit Transactions.png

    17. Fabric v1.0 部署方式.png

    Fabric v1.0 部署方式.png

    18. architecture of marbles app.png

    architecture of marbles app.png

    19. marbles app config and cc resources.png

    marbles app config and cc resources.png

    20. blockchain_overview.png

    blockchain_overview.png

    21. fabric-1.0-release

    Fabric-release.png

    22. chaincode_swimlane.png

    chaincode_swimlane.png

    23. Architecture_Step-1.png

    Architecture_Step-1.png

    24. Architecture_Step-2.png

    Architecture_Step-2.png

    25. Architecture_Step-3.png

    Architecture_Step-3.png

    26. Architecture_Step-4.png

    Architecture_Step-4.png

    27. attributes_flow.png

    attributes_flow.png

    28. Canonical-Use-Cases_Asset-Depository.png

    Canonical-Use-Cases_Asset-Depository.png

    29. Canonical-Use-Cases_B2BContract.png

    image.png

    30.Canonical-Use-Cases_Direct-Communication.png

    image.png

    31. Canonical-Use-Cases_Interoperability-of-Assets.png

    Canonical-Use-Cases_Interoperability-of-Assets.png

    32. Canonical-Use-Cases_Manufacturing-Supply-Chain.png

    Canonical-Use-Cases_Manufacturing-Supply-Chain.png

    33. Canonical-Use-Cases_One-Trade-One-Contract.png

    Canonical-Use-Cases_One-Trade-One-Contract.png

    34. Canonical-Use-Cases_Separation-of-Asset-Ownership-and-Custodians-Duties.png

    Canonical-Use-Cases_Separation-of-Asset-Ownership-and-Custodians-Duties.png

    35. sec-entities.png

    sec-entities.png

    36. Illustration of one possible transaction flow (common-case path).

    flow-4.png

    相关文章

      网友评论

        本文标题:Hyperledger Fabric 示意图

        本文链接:https://www.haomeiwen.com/subject/lpthattx.html