Hyperledger Fabric原理详解与实战8

1,414 阅读3分钟

本文主要内容如下,爱看不看~

前面我们已经把必要的材料生成好了,可以启动网络节点了。

启动orderer节点

准备材料

  1. 按之前的规划,准备linux服务三台:

    内网IP 内网端口 访问域名 外网端口
    172.31.10.10 7050 order0.mid.org 7050
    172.31.10.11 7050 order1.mid.org 7051
    172.31.10.12 7050 order2.mid.org 7052
  2. 将msp和创世块文件拷贝到对应的服务器上:

    创世块
    源文件:system-genesis-block/genesis.block
    目标文件: /var/hyperledger/orderer/orderer.genesis.block
    注意:该文件三台服务器都需要拷贝。

    msp文件
    源文件:
    organizations/ordererOrganizations/mid.org/orderers/orderN.mid.org/msp
    目标文件: /var/hyperledger/orderer/msp
    注意:每个节点的源文件不同

    tls文件
    源文件:
    organizations/ordererOrganizations/mid.org/orderers/orderN.mid.org/tls
    目标文件: /var/hyperledger/orderer/tls
    注意:每个节点的源文件不同

  3. orderer可执行程序文件:
    参考《操作指南》

配置环境

启动orderer程序需要配置信息。

配置信息有三种来源,读取顺序为:

  1. orderer.yaml (当前目录或FABRIC_CFG_PATH指定目录)
  2. 环境变量
  3. 命令行参数(目前不支持)

我们采用环境变量的方式来配置:

FABRIC_LOGGING_SPEC=INFO  
# 输出日志级别

ORDERER_GENERAL_LISTENADDRESS=0.0.0.0  
# 服务监听地址

ORDERER_GENERAL_LISTENPORT=7050  
# 服务监听端口

ORDERER_GENERAL_BOOTSTRAPMETHOD=file  
# 启动方法

ORDERER_GENERAL_BOOTSTRAPFILE=/var/hyperledger/orderer/orderer.genesis.block    
# 启动方法为file时指定创世块文件路径

ORDERER_GENERAL_LOCALMSPID=MidMSP  
# 节点所属组织的MSP唯一标识,需与系统通道配置中的保持一致

ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp 
# msp文件所在目录

ORDERER_GENERAL_TLS_ENABLED=true  
# 启用TLS通讯

ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key  
# TLS私钥文件

ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
# TLS服务端证书文件

ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
# 信任的TLS CA根证书,校验客户端证书用

ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt  
# 客户端证书文件,访问其他orderer节点时需要TLS双向认证。

ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key  
# 客户端私钥文件

ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] 
# 集群可信的TLS CA根证书,可省略不配

NOTE
环境变量的方式来配置程序,适合容器环境。
如果你是运行在物理机或虚拟机环境,建议采用配置文件或脚本启动。

启动程序

去服务器上执行如下命令:

orderer

然后,观察输出日志信息是否有报错。

到此,Fabric网络就正式诞生啦!

启动peer节点

网络已启动,但还没有参与者加入呢。

- 别急,联盟成员们,先把你们自己的peer节点启动起来先!

- 好~!

骚瑞,我又犯2了~

Peer节点的类型

操作peer前,还有几个概念要弄清楚。

peer按功能分为4种类型:

  • 提交节点(Commiter)
  • 背书节点(Endorser)
  • 主节点(Leader)
  • 锚节点(Anchor)

!!!WTF,怎么这么多破概念???

Fabric就是这样,它将每一个功能都模块化,而且拆得还很细,这必然要引入一些新词来解释它。

这几个概念也不难理解。 但首先要知道,在组织内和组织间,peer节点相互交换数据是通过goosip协议实现的。

那什么是goosip呢?

我是2流程序员,我们下次再贱!

本文使用 mdnice 排版