# Fabric 1.0源代码笔记 之 Orderer #localconfig(Orderer配置文件定义)
## 1、配置文件定义
```bash
General: #通用配置
LedgerType: file #账本类型,包括ram、json和file,其中ram保存在内存中,生产环境推荐使用file
ListenAddress: 127.0.0.1 #服务绑定的监听地址
ListenPort: 7050 #服务绑定的监听端口
TLS: #启用TLS时的相关配置
Enabled: false #是否启用TLS
PrivateKey: tls/server.key #Orderer签名私钥
Certificate: tls/server.crt #Orderer身份证书
RootCAs: #信任的根证书
- tls/ca.crt
ClientAuthEnabled: false #是否对客户端也进行认证
ClientRootCAs:
LogLevel: info #日志级别
LogFormat: '%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}'
GenesisMethod: provisional #初始区块的提供方式,支持provisional或file,前者基于GenesisProfile指定的configtx.yaml中Profile生成,后者基于指定的初始区块文件
GenesisProfile: SampleInsecureSolo #provisional方式生成初始区块时采用的Profile
GenesisFile: genesisblock #使用现成的初始区块文件时,文件的路径
LocalMSPDir: msp #本地msp文件的路径
LocalMSPID: DEFAULT #MSP的ID
Profile: #是否启用go profiling
Enabled: false
Address: 0.0.0.0:6060
BCCSP: #密码库机制等,可以为SW(软件实现)或PKCS11(硬件安全模块)
Default: SW
SW:
Hash: SHA2 #哈希算法类型
Security: 256
FileKeyStore: #本地私钥文件路径,默认指向<mspConfigPath>/keystore
KeyStore:
FileLedger: #基于文件的账本的配置
Location: /var/hyperledger/production/orderer #存放区块文件的位置,一般为/var/hyperledger/production/orderer/目录
Prefix: hyperledger-fabric-ordererledger #如果不指定Location,则在临时目录下创建账本时使用的目录名称
RAMLedger: #基于内存的账本最多保留的区块个数
HistorySize: 1000
Kafka: #Orderer使用Kafka集群作为后端时,Kafka的配置
Retry: #Kafka未就绪时Orderer的重试配置,orderer会利用sarama客户端为channel创建一个producer、一个consumer,分别向Kafka写和读数据
ShortInterval: 5s #操作失败后的快速重试阶段的间隔
ShortTotal: 10m #快速重试阶段最多重试多长时间
LongInterval: 5m #快速重试阶段仍然失败后进入慢重试阶段,慢重试阶段的时间间隔
LongTotal: 12h #慢重试阶段最多重试多长时间
NetworkTimeouts: #sarama网络超时时间
DialTimeout: 10s
ReadTimeout: 10s
WriteTimeout: 10s
Metadata: #Kafka集群leader选举中的metadata请求参数
RetryBackoff: 250ms
RetryMax: 3
Producer: #发送消息到Kafka集群的超时
RetryBackoff: 100ms
RetryMax: 3
Consumer: #从Kafka集群读取消息的超时
RetryBackoff: 2s
Verbose: false #是否开启Kafka客户端的调试日志
TLS: #Kafka集群的连接启用TLS时的相关配置
Enabled: false #是否启用TLS,默认不开启
PrivateKey: #Orderer证明身份用的签名私钥
Certificate: #Kafka身份证书
RootCAs: #验证Kafka证书时的CA证书
Version: #Kafka版本号
#代码在/etc/hyperledger/fabric/orderer.yaml
```
## 2、TopLevel结构体定义
```go
type TopLevel struct {
General General
FileLedger FileLedger
RAMLedger RAMLedger
Kafka Kafka
}
type General struct {
LedgerType string
ListenAddress string
ListenPort uint16
TLS TLS
GenesisMethod string
GenesisProfile string
GenesisFile string
Profile Profile
LogLevel string
LogFormat string
LocalMSPDir string
LocalMSPID string
BCCSP *bccsp.FactoryOpts
}
type TLS struct {
Enabled bool
PrivateKey string
Certificate string
RootCAs []string
ClientAuthEnabled bool
ClientRootCAs []string
}
type Profile struct {
Enabled bool
Address string
}
type FileLedger struct {
Location string
Prefix string
}
type RAMLedger struct {
HistorySize uint
}
type Kafka struct {
Retry Retry
Verbose bool
Version sarama.KafkaVersion
TLS TLS
}
type Retry struct {
ShortInterval time.Duration
ShortTotal time.Duration
LongInterval time.Duration
LongTotal time.Duration
NetworkTimeouts NetworkTimeouts
Metadata Metadata
Producer Producer
Consumer Consumer
}
type NetworkTimeouts struct {
DialTimeout time.Duration
ReadTimeout time.Duration
WriteTimeout time.Duration
}
type Metadata struct {
RetryMax int
RetryBackoff time.Duration
}
type Producer struct {
RetryMax int
RetryBackoff time.Duration
}
type Consumer struct {
RetryBackoff time.Duration
}
//代码在orderer/localconfig/config.go
```

网址:http://www.qukuailianxueyuan.io/

欲领取造币技术与全套虚拟机资料

区块链技术交流QQ群:756146052  备注:CSDN

尹成学院微信:备注:CSDN

网址:http://www.qukuailianxueyuan.io/

欲领取造币技术与全套虚拟机资料

区块链技术交流QQ群:756146052  备注:CSDN

尹成学院微信:备注:CSDN

Fabric 1.0源代码分析(28) Orderer #localconfig(Orderer配置文件定义)相关推荐

  1. Fabric 1.0源代码分析(25) Orderer

    # Fabric 1.0源代码笔记 之 Orderer ## 1.Orderer概述 Orderer,为排序节点,对所有发往网络中的交易进行排序,将排序后的交易安排配置中的约定整理为块,之后提交给Co ...

  2. Fabric 1.0源代码分析(30) Orderer #BroadcastServer(Broadcast服务端)

    # Fabric 1.0源代码笔记 之 Orderer #BroadcastServer(Broadcast服务端) ## 1.BroadcastServer概述 BroadcastServer相关代 ...

  3. Fabric 1.0源代码分析(27) Orderer #configupdate(处理通道配置更新)

    # Fabric 1.0源代码笔记 之 Orderer #configupdate(处理通道配置更新) ## 1.configupdate概述 configupdate,用于接收配置交易,并处理通道配 ...

  4. Fabric 1.0源代码分析(29) Orderer #multichain(多链支持包)

    # Fabric 1.0源代码笔记 之 Orderer #multichain(多链支持包) ## 1.multichain概述 multichain代码集中在orderer/multichain目录 ...

  5. Fabric 1.0源代码分析(26)Orderer #ledger(Orderer Ledger)

    # Fabric 1.0源代码笔记 之 Orderer #ledger(Orderer Ledger) ## 1.Orderer Ledger概述 Orderer Ledger代码分布在orderer ...

  6. Fabric 1.0源代码分析(15)gossip(流言算法)

    # Fabric 1.0源代码笔记 之 gossip(流言算法) ## 1.gossip概述 gossip,翻译为流言蜚语,即为一种可最终达到一致的算法.最终一致的另外的含义就是,不保证同时达到一致. ...

  7. Fabric 1.0源代码分析(7)configtx(配置交易) #configtxgen(生成通道配置)

    # Fabric 1.0源代码笔记 之 configtx(配置交易) #configtxgen(生成通道配置) ## 1.configtxgen概述 configtxgen,用于生成通道配置,具体有如 ...

  8. Fabric 1.0源代码分析(37) Peer #DeliverClient(Deliver客户端)

    # Fabric 1.0源代码笔记 之 Peer #DeliverClient(Deliver客户端) ## 1.DeliverClient概述 DeliverClient代码分布如下: * peer ...

  9. Fabric 1.0源代码分析(32) Peer #peer node start命令实现

    # Fabric 1.0源代码笔记 之 Peer #peer node start命令实现 ## 1.peer node加载子命令start和status peer node加载子命令start和st ...

最新文章

  1. 图灵奖获得者 Alan Kay:突破常规思维,创建下一代科研社区(附视频)
  2. 机器学习常用激活函数
  3. UML解惑:图说UML中的六大关系--转
  4. mysql 实现nextval_mysql实现nextVal功能
  5. Spring Boot集成测试中@ContextConfiguration和@SpringApplicationConfiguration之间的区别
  6. 平面方程(Plane Equation)
  7. uniDBGrid导入数据库(转红鱼儿)
  8. mysql自动拉入黑名单_利用MySQL实现域名黑名单过滤10W记录1ms匹配
  9. 微机笔记5——定时与计数
  10. 史上最佳GAN被超越!生成人脸动物高清大图真假难辨,DeepMind发布二代VQ-VAE
  11. linux中用at命令5分钟后执行,我使用过的Linux命令之at - 在指定时间执行一次任务...
  12. PHP写webservice服务端
  13. [Web开发] Web程序调式的利器 - Fiddler (HTTP协议监视工具)
  14. linux内核的自旋锁spin_lock和互斥锁mutex_lock
  15. no target device found怎么解决_关于移动端开发 1px 线的一些理解和解决办法
  16. 拓端tecdat|R语言具有Student-t分布改进的GARCH(1,1)模型的贝叶斯估计
  17. 汇添富基金总经理张晖:以高质量发展打造中国最受认可的资产管理品牌
  18. 淘宝如何营利-枪口直指银行
  19. marlin固件烧录教程_Marlin固件全中文解析
  20. 美通社企业新闻汇总 | 2019.1.3

热门文章

  1. 创建FTP服务器下载文件时出现`当前的安全设置不允许从该位置下载文件`
  2. python 在日常工作中_每天在工作和生活中做的事,我如何用 Python 让它们变得更轻松?...
  3. u盘启动盘制作工具哪个最好用?
  4. ElasticSearch查询篇索引映射文档数据准备
  5. 上门保洁小程序开发,抓住互联网保洁市场
  6. Intel OpenImageDenoise VS Nvidia Optix 降噪结果对比
  7. 阿里云上为服务器申请外网网卡并绑定公网ip
  8. IOS唤起H5微信或支付宝收银台
  9. Python?Python!(python是解释型还是编译型)
  10. pos机限额是什么意思_POS机跳码、落地商户、T+1