谢谢大家不断的为这篇文章点赞。从 3 月份开始专注于区块链开发,那时国内基本没有区块链的相关内容,科学上网还是必备技能,一点一点积累和开拓吧。现在国内有很多的各种链,大大小小的组织和会议,应该有很多的『新人』在做区块链了,我后面会为每一幅图解加一些文字解释,希望可以帮助到大家。如果有不对的地方大家也可以留言。
1. fabric-ca.png
![](https://img.haomeiwen.com/i107769/cb0c76c8f6af0800.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
![](https://img.haomeiwen.com/i107769/2545420b2984a373.png)
3. 两个不同的chaincode并行进行背书和共识处理的过程.png
![](https://img.haomeiwen.com/i107769/b4d072f51afffafb.png)
4. transaction flow.png 这张图在文档中已经做了修改请看 图36
![](https://img.haomeiwen.com/i107769/1183755850a06aaa.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
![](https://img.haomeiwen.com/i107769/36a0482669bbf786.png)
6. 多链与多通道.png
![](https://img.haomeiwen.com/i107769/902d13b95fe319cc.png)
7. 交易(数据)流程说明.png
![](https://img.haomeiwen.com/i107769/dd677f7e7eda9f10.png)
8. fabric 架构图.png
![](https://img.haomeiwen.com/i107769/ed6e7f2ee4c462c3.png)
9. fabric 1.0 运行时架构图.png
![](https://img.haomeiwen.com/i107769/0b248dc6f06fb572.png)
10. fabric 0.6 总体架构图.png
![](https://img.haomeiwen.com/i107769/9e503ab7ca8b2150.png)
11. marbles comm_flow.png
![](https://img.haomeiwen.com/i107769/d3e365a3ffd6184e.png)
12. fabric 交易的生命周期
![](https://img.haomeiwen.com/i107769/df285955fc60d03b.png)
13. Chaincode Deployment Proposal.png
![](https://img.haomeiwen.com/i107769/d67f4c8d434f9aea.png)
14. Chaincode Deployment Transaction.png
![](https://img.haomeiwen.com/i107769/8a1a455686aba22a.png)
15. Endorse Transactions.png
![](https://img.haomeiwen.com/i107769/6ebd5a479b8163dc.png)
16. Commit Transactions.png
![](https://img.haomeiwen.com/i107769/4ea1d8c43d850428.png)
17. Fabric v1.0 部署方式.png
![](https://img.haomeiwen.com/i107769/d8c1a758e1ef6ccd.png)
18. architecture of marbles app.png
![](https://img.haomeiwen.com/i107769/537df5a18b445562.png)
19. marbles app config and cc resources.png
![](https://img.haomeiwen.com/i107769/182e9bd28606ea92.png)
20. blockchain_overview.png
![](https://img.haomeiwen.com/i107769/bc683fb8f382365f.png)
21. fabric-1.0-release
![](https://img.haomeiwen.com/i107769/2b177992c850173c.png)
22. chaincode_swimlane.png
![](https://img.haomeiwen.com/i107769/cdc4413ec8e4782f.png)
23. Architecture_Step-1.png
![](https://img.haomeiwen.com/i107769/99ed6acc92cdbd2e.png)
24. Architecture_Step-2.png
![](https://img.haomeiwen.com/i107769/4c9c4131cfc48c37.png)
25. Architecture_Step-3.png
![](https://img.haomeiwen.com/i107769/a1490cf4a31f73d3.png)
26. Architecture_Step-4.png
![](https://img.haomeiwen.com/i107769/52bec219b4865073.png)
27. attributes_flow.png
![](https://img.haomeiwen.com/i107769/581e41c5201b856b.png)
28. Canonical-Use-Cases_Asset-Depository.png
![](https://img.haomeiwen.com/i107769/4ba0a9372bfefb17.png)
29. Canonical-Use-Cases_B2BContract.png
![](https://img.haomeiwen.com/i107769/f9f162dd1d013588.png)
30.Canonical-Use-Cases_Direct-Communication.png
![](https://img.haomeiwen.com/i107769/a0ce01c734409a45.png)
31. Canonical-Use-Cases_Interoperability-of-Assets.png
![](https://img.haomeiwen.com/i107769/b1884d7c7263e194.png)
32. Canonical-Use-Cases_Manufacturing-Supply-Chain.png
![](https://img.haomeiwen.com/i107769/29838dd5560b0523.png)
33. Canonical-Use-Cases_One-Trade-One-Contract.png
![](https://img.haomeiwen.com/i107769/7bf0b73b4ab2a851.png)
34. Canonical-Use-Cases_Separation-of-Asset-Ownership-and-Custodians-Duties.png
![](https://img.haomeiwen.com/i107769/d2ab87dd88039ce5.png)
35. sec-entities.png
![](https://img.haomeiwen.com/i107769/f5f915f2b4e1ae4c.png)
36. Illustration of one possible transaction flow (common-case path).
![](https://img.haomeiwen.com/i107769/d5a0ea6fb935ee5f.png)
网友评论