fabric compose文件解读(Orderer篇)
orderer在fabric中的作用是排序,另外orderer有点像是管理节点一样,通道之类的都是在orderer的基础之上建立的,有点像比特币,以太坊上面的全节点一样,不过责任比全节点少很多,甚至都不用背书和记录。
同样以一段配置代码来解释:
1 services: 2 peer0.Peer_fish.com: 3 container_name: peer0.Peer_fish.com 4 image: hyperledger/fabric-peer:2.2 5 labels: 6 service: hyperledger-fabric 7 environment: 8 - FABRIC_CFG_PATH=/etc/hyperledger/peercfg 9 # - FABRIC_LOGGING_SPEC=INFO 10 - FABRIC_LOGGING_SPEC=DEBUG 11 - CORE_PEER_TLS_ENABLED=true 12 - CORE_PEER_PROFILE_ENABLED=false 13 - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt 14 - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key 15 - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt 16 # Peer specific variables 17 - CORE_PEER_ID=peer0.Peer_fish.com 18 #指定该组织下其他peer的通信ip和端口 19 - CORE_PEER_ADDRESS=peer1.Peer_fish.com:7053 20 - CORE_PEER_LISTENADDRESS=0.0.0.0:7051 21 - CORE_PEER_CHAINCODEADDRESS=peer0.Peer_fish.com:7052 22 - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052 23 - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.Peer_fish.com:7051 24 25 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.Peer_fish.com:7052 26 27 - CORE_PEER_LOCALMSPID=Org1MSP 28 - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/fabric/msp 29 - CORE_OPERATIONS_LISTENADDRESS=peer0.Peer_fish.com:9444 30 - CORE_METRICS_PROVIDER=prometheus 31 - CHAINCODE_AS_A_SERVICE_BUILDER_CONFIG={"peername":"peer0fish"} 32 - CORE_CHAINCODE_EXECUTETIMEOUT=300s 33 - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock 34 - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=fish 35 volumes: 36 - ../org_crypto_conf/organizations/peerOrganizations/Peer_fish.com/peers/peer0.Peer_fish.com:/etc/hyperledger/fabric 37 - peer0.Peer_fish.com:/var/hyperledger/production 38 - ./peercfg:/etc/hyperledger/peercfg 39 - /var/run/docker.sock:/host/var/run/docker.sock 40 working_dir: /root 41 command: peer node start 42 ports: 43 - 7051:7051 44 - 9444:9444 45 networks: 46 - test
1~8行:跟CA篇一样的理解,这里不做解释
10:指定运行的模式,我这里使用了DEBUG,可以在运行时看到详细的过程,用作生产建议使用info
11-15:配置了tls通信用到的证书和认证证书,但是路径是容器里的路径(需要主义的是后面的路径映射,他把容器外的证书目录映射到容器里面了)
17:指定运行时的id
19:指定其他peer的连接域名与端口
20:表示监听仍以ip对本机7051端口的连接,这就是orderer之间连接的方式
21-25:表示连接其他orderer的方法,只要配置怎么连其他的orderer,怎么让其他的orderer连接
27:MSPID,还是orderer间认证是的姓名
28:指定身份文件,下一期详细将orderer之间的身份认证过程
29-32:目前还没想明白
33-34:orderer中的docker映射,在fabric中所有的链码都是跑在容器里面的,所以如果用容器跑节点,那么链码就是跑在容器的容器里面,这里吧外面的容器server映射到容器里面,形成一种嵌套的东西。需要主义orderer一般不会跑用户链码,orderer中跑的是系统链码。
35-39:文件映射,需要主义的是第二个 ./peercfg 这个映射,peercfg这里面放的就是peer的配置文件,前面的大部分配置都可以在这里面写。
40:字面意思