首先,检查启动节点的所有配置是否就绪:
- 在 /etc/hyperledger/fabric 路径下放置有编写好的 orderer.yaml (可以参考 sampleconfig/orderer.yaml);
- 在 /etc/hyperledger/fabric 路径下放置生成的 msp 文件目录、tls 文件目录;
- 在 /etc/hyperledger/fabric 路径下放置初始区块文件 orderer.genesis.block。
Orderer 节点的默认配置文件中指定了简单的 Orderer 节点功能。
通常情况下,在使用时根据需求往往要对其中一些关键配置进行指定。下表总结了如何通过环境变量方式对这些关键配置进行更新。
环境变量配置 | 功能 | 说明 |
---|---|---|
ORDERER_GENERAL_LOGLEVEL=INFO | 输出日志的级别 | 建议至少为 INFO |
ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 | 服务监听的地址 | 建议修改到指定网络接口地址 |
ORDERER_GENERAL_LISTENPORT=7050 | 服务监听的端口 | 默认为 7050 |
ORDERER_GENERAL_GENESISMETHOD=file | 初始区块的提供方式 | 推荐采用指定初始区块文件 |
ORDERER_GENERAL_GENESISFILE=/etc/hyperledger/fabric/orderer.genesis.block | 初始区块文件路径 | 提前使用 configtxgen 生成,需要与实际路径一致 |
ORDERER_GENERAL_LOCALMSPID=OrdererMSP | MSP 的 ID | 建议更新 |
ORDERER_GENERAL_LOCALMSPDIR=/etc/hyperledger/fabric/msp | MSP文件路径 | cryptogen 提前生成,需要与实际路径一致 |
ORDERER_GENERAL_LEDGERTYPE=file | 账本类型 | 建议使用 file 支持持久化 |
ORDERER_GENERAL_BATCHTIMEOUT=10s | 出块最大间隔时间 | 当交易较少时,太长的间隔会导致交易写盘延迟较大 |
ORDERER_GENERAL_MAXMESSAGECOUNT=10 | 一个块中包括的最大交易数 | 根据需求调整 |
ORDERER_GENERAL_TLS_ENABLED=true | 是否启用 TLS | 建议开启,提高安全性 |
ORDERER_GENERAL_TLS_PRO=IVATEKEY=/etc/hyperledger/fabric/tls/server.key | TLS 开启时指定签名私钥位置 | cryptogen 提前生成,需要与实际路径一致 |
ORDERER_GENERAL_TLS_CERTIFICATE=/etc/hyperledger/fabric/tls/server.crt | TLS 开启时指定身份证书位置 | cryptogen 提前生成,需要与实际路径一致 |
ORDERER_GENERAL_TLS_ROOTCAS=[/etc/hyperledger/fabric/tls/ca.crt] | TLS 开启时指定信任的根 CA证书位置 | cryptogen 提前生成,需要与实际路径一致 |
配置完成后,用户可以采用如下命令来快速启动一个本地 Orderer 节点。启动成功后可以看到本地输出的开始提供服务的消息,此时 Orderer 采用指定的初始区块文件创建了系统通道:
$ orderer start
[msp] getMspConfig -> INFO 001intermediate certs folder not found at [/etc/hyperledger/fabric/msp/intermediatecerts]. Skipping.:[stat /etc/hyperledger/
...