技术指南:一分钟启动我们的分布式网络

区块链达人 百科
2018-12-22 10:00:40

  




目标

1.深入理解 Hyperledger Fabric 网络启动过程

 

2.掌握网络启动命令及其所需参数

 

任务实现

网络启动之前所需的所有内容我们已经准备就绪,下面我们深入分析网络中各节点运行时所需要指定的必备信息

3.3.1 网络服务如何配置

启动网络,就是启动提供网络服务的各个节点。那么这些节点如何启动,需要哪些信息,由于要启动多个网络节点,Hyperledger Fabric 采用了容器技术,所以需要一个简化的方式来集中化管理这这些节点容器,我们使用 docker-compose 这个工具个来实现一步到位的节点容器管理,实现方式只需要编写相应的配置文件即可。

 

Hyperledger Fabric 同样给我们提供了一个 docker-compose 工具的示例配置文件,该配置文件在 fabric-samples/first-network 目录下,文件名称为: docker-compose-cli.yaml, 我们打开这个配置文件可以看到如下内容:

区块链技术QQ交流群:263270946 掌握更多技术干货,关注微信公众号“ChainDesk”

该配置文件中指定了网络中各个节点容器(共计六个容器,一个 Orderer,属于两个 Orgs 组织的四个 Peer,还有一个 CLI)的信息;我们仔细观察会发现 orderer 与各 peer 容器都设置了container_name 与 networks 信息;其它信息都由 extends 指向了 base/docker-compose-base.yaml 文件。

CLI 容器指定了所代表的 peer 节点

(CORE_PEER_ADDRESS=peer0.org1.example.com:7051),通过 volumes 指定了将系统中的链码、组织结构及证书、生成的配置文件映射到容器中指定的目录下。且通过 depends_on 指定了所依赖的相关容器。

3.3.2 关联的docker-compose-base.yaml

配置文件

 

区块链技术QQ交流群:263270946 掌握更多技术干货,关注微信公众号“ChainDesk”

该配置文件中指定了 Orderer 与 Peers 节点的相关信息。

Orderer 设置如下信息:

environment:指定日志级别、监听地址、生成初始区块的提供方式、初始区块配置文件路径、本地 MSPID 及对应的目录、开启 TLS 验证及对应的证书、私钥信息等诸多重要信息。

working_dir:进入容器后的默认工作目录

volumes:指定系统中的初始区块配置文件、MSP、TLS目录映射到容器中的指定路径下。

ports: 指定当前节点的监听端口。

各 Peers 设置了如下信息:

extends:基本信息来源于哪个文件。

environment:指定了容器的的 ID、监听地址及端口号、本地 MSPID。

volumes:将系统的 msp 及 tls 目录映射到容器中的指定路径下。

ports: 指定当前节点的监听端口。

 

3.3.3 又被关联的peer-base.yaml

配置文件内容如下:

 

区块链技术QQ交流群:263270946 掌握更多技术干货,关注微信公众号“ChainDesk”

该配置文件设置了所有 peer 容器的基本的共同信息,日志级别,是否开启 TLS 验证,是否采用 Leader 选举, 是否将当前节点设为 Leader, TLS 证书、私钥、根证书的路径、容器的默认工作路径、容器启动命令。

3.3.4 启动网络

万事具备,只欠东风,下面我们通过一条命令来方便的启动 Hyperledger Fabric 网络中所有节点。

 

区块链技术QQ交流群:263270946 掌握更多技术干货,关注微信公众号“ChainDesk”

 

 
区块链技术QQ交流群:263270946 掌握更多技术干货,关注微信公众号“ChainDesk”

 

 

 
区块链技术QQ交流群:263270946 掌握更多技术干货,关注微信公众号“ChainDesk”

 

 

未经授权禁止转载、改编,转载请注明出处。


本文地址: https://www.xiguacaijing.com/news/baike/2018/2272.html
声明:本文经授权发布,除注明来源外,均为西瓜财经用户投稿,不代表西瓜财经立场。转载请注明:西瓜财经(xiguacaijing.com)
提醒:投资有风险,入市需谨慎。若内容涉及投资建议,仅供参考勿作为投资依据。谨防以“区块链”名义进行非法集资。
赞助商

区块链达人

区块链达人

认证作者

传播区块链资讯!传递区块链价值!