区块链轻松上手:原理、源码、搭建与应用_Leader-us;李艳军;赵锴 编著_AZW3_MOBI_EPUB_PDF_电子书(无页码)_Leader-us;李艳军;赵锴 编著

内容节选

3.3更复杂的Fabric网络 在对Fabric网络有了初步了解之后,我们可以尝试建立一个更复杂的 Fabric网络。打开本书第1章提到的Fabric_Demo虚拟机,在/hyperledger/scripts下有一个2orgs_network.sh脚本文件,通过这个脚本文件,我们可以建立一个包含两个组织、四个节点的Fabric网络。与第1章讲到的两个小型Fabric网络不同,这个网络的节点数更多,结构更复杂,而且我们会对参数和配置进行更详细的讲解,方便了解与网络设置相关的知识。 同第2章的操作一样,在/hyperledger/scripts目录下调用init.sh初始化Docker之后执行2orgs_network.sh,即可看到它经历了以下步骤。 (a)clear states:清理运行状态(删除shared与statedata目录下的内容)。 (b)clear containers:清理容器。 (c)generate crypto:生成加密材料。 (d)generate genesis:生成创世区块。 (e)start orderer:启动Orderer节点。 (f)start peer1:启动org1peer1节点。 (g)start peer2:启动org1peer2节点。 (h)start peer3:启动org2peer1节点。 (i)start peer4:启动org2peer2节点。 (j)create channel:创建通道。 (k)join channel1:将org1peer1节点添加到通道中。 (l)join channel2:将org1peer2节点添加到通道中。 (m)join channel3:将org2peer1节点添加到通道中。 (n)join channel4:将org2peer2节点添加到通道中。 (o)updateAnchor1:将org1peer1设置为anchor。 (p)updateAnchor2:将org2peer1设置为anchor。 (q)install chaincode:安装Chaincode到通道中。 (r)input commands:启动docker bash。 下面对这些步骤进行详细讲解。 3.3.1 网络的结构与定义 与第2章的双节点例子相比,这里多出来的主要步骤是其他三个Peer节点的启动、加入通道操作及两个组织的updateAnchor操作(见步骤f、g、h、i、o、p)。首先,我们看看这个例子的网络拓扑结构,如图3-14所示。 图3-14 在步骤 c、d 中通过配置文件定义了这个网络结构,读取的配置文件分别是2orgs-config.yaml与2orgs-configtx.yaml,2orgs-config.yaml的内容结构如下: 对该文件内容的解释如下。 ①定义了Orderer组织的信息,包括组织的名称(Name)、所在的域(Domain)、证书信息(CA)及主机名(Hostname)等。 ②定义了Peer组织的信息,我们可以看到主要包含了 Org1与Org2这两个组织。 ③定义了Org1组织的信息,包括组织名称(Name)、域名(Domain)、证书信息(CA)、生成的节点个数(Template)、生成的用户数量(Users)及是否生成节点组织信息(EnableNodeOUs)。EnableNodeOUs似乎比较让人费解,其中的 OU是 Organization Unit的缩写,这个开关主要决定在生成MSP加密材料时是否包含节点信息,并不影响网络的运行,在这个开关变化时我们可以留意在crypto-config目录下生成的config.yaml文件及CA证书内部的信息。 ④定义了Org2组织的信息,结构和Org1类似,名称和域不同。 在步骤c中,cryptogen工具通过2orgs-config.yaml的配置信息生成了crypto-config目录,其中包含5个节点的 MSP 加密材料及两个用户信息,这些都在接下来的2orgs-configtx.yaml配置中用到了。2orgs-configtx.yaml文件的内容如下: 对该文件的内容解释如下。 ①用于定义 Orderer 自己的系统通道的创世区块信息,包含一个Orderer 组织(OrdererOrg)并定义了一个联盟(SampleConsortium)。 ②用于定义一个名为 TwoOrgsChannel 的业务通道,在这个通道里使用了SampleConsortium,需要注意,定义联盟时的 Key 为 Consortiums,而使用时的 Key 为Consortium,在这个业务通道里包含一个应用(Application),并包含Org1与Org2这两个组织,这里没有另外定义Orderer组......

  1. 信息
  2. 作者简介
  3. 前言
  4. 第1章 全面理解区块链
  5. 1.1 从比特币开始
  6. 1.2 理解区块链的概念
  7. 1.3 快速体验Fabric
  8. 第2章 区块链的生态与原理
  9. 2.1 区块链的生态
  10. 2.2 区块链的底层技术与架构
  11. 2.3 区块链平台架构
  12. 第3章 Fabric安装与调试
  13. 3.1 Fabric源码安装
  14. 3.2 Fabric开发调试
  15. 3.3 更复杂的Fabric网络
  16. 第4章 Fabric应用开发实践
  17. 4.1 Fabric SDK概述
  18. 4.2 通道配置
  19. 4.3 智能合约管理
  20. 4.4 监听事件
  21. 第5章 深入研究Fabric网络
  22. 5.1 Fabric的创世区块
  23. 5.2 Peer客户端发起交易
  24. 5.3 Chaincode的初始化
  25. 5.4 Endorser的背书流程
  26. 第6章 深入理解Fabric的安全机制
  27. 6.1 Fabric安全概述
  28. 6.2 深入理解Fabric MSP
  29. 6.3 深入理解Fabric CA