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:字面意思

41:指在容器中运行这个命令

总结:orderer在fabric网络中扮演着重要的角色,从他的配置文件可以看到,首先要自生组成网络,其次还要联系上peer节点,实际上在它的创世快中有整个区块链网络的信息,所以所有的关于对区块链的操作都要经过orderer的同意,其中包括应用通道的配置,链码的配置。

关于创世快的配置后面也会出一期来讲一讲。

fabric compose文件解读(Orderer篇)的更多相关文章

  1. fabric compose文件解读(CA篇)

    CA在fabric中的作用是:分配证书,实现身份认证,配普通的CA机构没什么区别(所以可以用其他CA机构颁发的证书,只要商量好就行) 我的一段CA的conpose文件 1 services: 2 ca ...

  2. trace文件解读

    *********************************************************************示例:全表扫描的10046文件解读************** ...

  3. 附005.Docker Compose文件详解

    一 Docker Compose文件简介 compose文件使用yml格式,主要分为了四个区域: version:用于指定当前docker-compose.yml语法遵循哪个版本 services:服 ...

  4. PE文件解析 基础篇

    PE文件解析 基础篇 来源 https://bbs.pediy.com/thread-247114.htm 前言 之前学习了PE格式,为了更好的理解,决定写一个类似LoadPE的小工具. 编译器是VS ...

  5. Python Fabric ssh 配置解读

    Python Fabric ssh 配置解读 Fabric 2.4简介: Fabric is a high level Python (2.7, 3.4+) library designed to e ...

  6. Java自动化测试框架-12 - TestNG之xml文件详解篇 (详细教程)

    1.简介 现在这篇,我们来学习TestNG.xml文件,前面我们已经知道,TestNG就是运行这个文件来执行测试用例的.通过本篇,你可以进一步了解到:这个文件是配置测试用例,测试套件.简单来说,利用这 ...

  7. Docker Compose 文件讲解

    Docker Compose 是什么 官方文档: Docker Compose是定义和运行多容器 Docker 应用程序的工具.使用"Compose",您可以使用 YAML 文件来 ...

  8. 如何用区块链技术解决信任问题?Fabric 架构深度解读

    阿里妹导读:区块链技术,随着比特币的兴起而为大家所知.但是具体到技术本身,大家相对熟悉的几个词可能是“数据不可篡改”.“公开链”.“分布式数据”.“共识机制”等. 这篇文章将抛砖引玉,通过深度解读Hy ...

  9. Hyperledger Fabric相关文件解析

    1相关文件说明 这一部分涉及相关配置文件的解析, 网络的启动涉及到多个文件,本文按以下顺序进行分析: . ├── base │   ├── docker-compose-base.yaml #1 │  ...

  10. C语言读取写入CSV文件 [一]基础篇

    本系列文章目录 [一] 基础篇 [二] 进阶篇--写入CSV [三] 进阶篇--读取CSV 什么是CSV? CSV 是一种以纯文本形式存储的表格数据,具体介绍如下(来自维基百科): 逗号分隔值(Com ...

随机推荐

  1. RestfulApi 学习笔记——内容协商(三)

    前言 什么是内容协商呢?是这样的,我们在请求的时候都有两个属性,一个是Content-Type,另一个是accept,这两个什么意思呢? content-type 这个是表示自己传输的是什么内容,就像 ...

  2. 实训篇-Html-多媒体标签

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. Fatal: (vsim-3381) obsolete library format 解决办法

    有很多软件仿真都是black boxs 黑盒子模式,所以用modelsim提示该错误.错误的原因是在于库用了其他旧的软件版本编译好的. 所以解决的办法如下: 在已经映射好的库选择refresh就可以刷 ...

  4. CAP 8.1 版本发布通告

    前言 我们很高兴宣布 CAP 发布 8.1 版本正式版,我们在这个版本中主要是添加了一些新的配置项支持,并且根据用户反馈做了一些功能调整,同时在这个版本开始默认禁用了从7.2版本引入的并行发布消息. ...

  5. 使用Docker搭建MongoDB 5.0版本副本集集群

    1.mongodb集群 首先我们需要了解mongodb的集群模式,mongodb安装分为单机安装和集群安装.集群安装分为:主从复制(Master-Slaver)集群.副本集(Replica Set)集 ...

  6. 牛客网-SQL专项训练24

    ①下列选项关于游标的作用叙述正确的是(D) 解析: 游标是一种从包括多条数据记录的结果集中每次提取一条记录以便处理的机制,可以看做是查询结果的记录指针.游标与视图类似,也是基于基表的临时表对象,也能够 ...

  7. 力扣461(java)-汉明距离(简单)

    题目: 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目. 给你两个整数 x 和 y,计算并返回它们之间的汉明距离. 示例 1: 输入:x = 1, y = 4输出:2解释:1 ...

  8. 如何发起 MQTT 亿级连接和千万消息吞吐性能测试

    ​简介:MQTT 协议凭借简单易实现.支持 QoS.报文小等特点,占据了物联网协议的半壁江山. 作者:亦炎 随着 5G 时代的来临,万物互联的伟大构想正在成为现实.联网的物联网设备 在 2021 年已 ...

  9. 聚焦 | 数据湖分析如何面向对象存储OSS进行优化?

    简介: 最佳实践,以DLA为例子.DLA致力于帮助客户构建低成本.简单易用.弹性的数据平台,比传统Hadoop至少节约50%的成本.其中DLA Meta支持云上15+种数据数据源(OSS.HDFS.D ...

  10. WPF 字体 FontStyle 的 Italic 和 Oblique 的区别

    本文介绍在 WPF 里面的字体属性 FontStyle 的 Italic 和 Oblique 的斜体差别 本文的图片和知识来自: #265 – Specifying Values for FontSt ...