博主最近部署fabric发现,fabric的部署很方便,同时官方提供了示范脚本,博主在部署官方示范脚本end-2-end的时候,发现启动环境是如此简单流畅!!但也带来了一个问题,因为脚本过于流畅和简单,单机多节点的启动的具体理解确变的复杂,为此博主开始了手动搭建单机多节点的征程,同时记录下来希望对大家有所帮助下面是此系列文章的目录结构,供大家品尝
hyperledger-fabric1.1 单机多点部署(1)-生成证书文件
hyperledger-fabric1.1 单机多点部署(2)-部署orderer节点
hyperledger-fabric1.1 单机多点部署(3)-部署peer0.org1节点
hyperledger-fabric1.1 单机多点部署(4)-搭建fabric网络
hyperledger-fabric1.1 单机多点部署(5)-初步了解智能合约
hyperledger-fabric1.1 单机多点部署(6)-部署peer0.org2节点
此处用于hperledger-fabric1.1学习,比较基础,使用的是solo启动类型而非kafka。
部署orderer节点首先我们需要编写一份 docker-orderer.yaml启动文件
编写docker-orderer.yaml文件源码如下:
version: '2'
services:
orderer.example.com:
container_name: orderer.example.com
image: hyperledger/fabric-orderer
environment:
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=aberic_default
# - ORDERER_GENERAL_LOGLEVEL=error
- ORDERER_GENERAL_LOGLEVEL=debug
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_LISTENPORT=7050
#- ORDERER_GENERAL_GENESISPROFILE=AntiMothOrdererGenesis
- ORDERER_GENERAL_GENESISMETHOD=file
- ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block
- ORDERER_GENERAL_LOCALMSPID=OrdereMSP
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
#- ORDERER_GENERAL_LEDGERTYPE=ram
#- ORDERER_GENERAL_LEDGERTYPE=file
# enabled TLS
- ORDERER_GENERAL_TLS_ENABLED=false
- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: orderer
volumes:
- ./channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls:/var/hyperledger/orderer/tls
networks:
default:
aliases:
- aberic
ports:
- 7050:7050
这份启动文件需要注意的是 Orderer排序服务监听的端口号设定的为7075,当然ORDERER_GENERAL_GENESISFILE,ORDERER_GENERAL_LOCALMSPID,ORDERER_GENERAL_LOCALMSPDIR的参数需要与生成证书文件中采用的配置文件的上下文一致,其中指定的文件映射路径需要与当前配置文件中的volumes卷宗指向匹配,如果匹配不一致,将会在启动时找不到创世区块的异常现象
接下来我们会开始编写为Peer节点所准备的docker-peer.yaml启动文件。