fisco-bcos节点配置文件(config.ini,group.x.genesis,group.x.ini)详解!!!

fisco-bcos节点配置文件(config.ini,group.x.genesis,group.x.ini)

文章目录


FISCO BCOS支持多账本,每条链包括多个独立账本,账本间数据相互隔离,群组间交易处理相互隔离,每个节点包括一个主配置 config.ini和多个账本配置 group.group_id.genesisgroup.group_id.ini

  • config.ini:主配置文件,主要配置RPC、P2P、SSL证书、账本配置文件路径、兼容性等信息。

  • group.group_id.genesis:群组配置文件,群组内所有节点一致,节点启动后,不可手动更改该配置。主要包括群组共识算法、存储类型、最大gas限制等配置项。

  • group.group_id.ini:群组可变配置文件,包括交易池大小等,配置后重启节点生效。

主配置文件config.ini

config.ini采用ini格式,主要包括 rpc、p2p、group、network_security和log 配置项。

例:node0的config.ini文件

[rpc]
    channel_listen_ip=0.0.0.0  
    channel_listen_port=20200
    jsonrpc_listen_ip=0.0.0.0 
    jsonrpc_listen_port=8545
[p2p]
    listen_ip=0.0.0.0
    listen_port=30300
    ; nodes to connect
    node.0=127.0.0.1:30300
    node.1=127.0.0.1:30301
    node.2=127.0.0.1:30302
    node.3=127.0.0.1:30303
    

[certificate_blacklist]
    ; crl.0 should be nodeid, nodeid's length is 128
    ;crl.0=

[certificate_whitelist]
    ; cal.0 should be nodeid, nodeid's length is 128
    ;cal.0=

[group]
    group_data_path=data/
    group_config_path=conf/

[network_security]
    ; directory the certificates located in
    data_path=conf/
    ; the node private key file
    key=node.key
    ; the node certificate file
    cert=node.crt
    ; the ca certificate file
    ca_cert=ca.crt

[storage_security]
    enable=false
    key_manager_ip=
    key_manager_port=
    cipher_data_key=

[chain]
    id=1
    ; use SM crypto or not, should nerver be changed
    sm_crypto=false
    sm_crypto_channel=false

[compatibility]
    ; supported_version should nerver be changed
    supported_version=2.8.0

[log]
    enable=true
    log_path=./log
    ; enable/disable the statistics function
    enable_statistic=false
    ; network statistics interval, unit is second, default is 60s
    stat_flush_interval=60
    ; info debug trace
    level=info
    ; MB
    max_log_file_size=200
    flush=true

[flow_control]
    ; restrict QPS of the node
    ;limit_req=1000
    ; restrict the outgoing bandwidth of the node
    ; Mb, can be a decimal
    ; when the outgoing bandwidth exceeds the limit, the block synchronization operation will not proceed
    ;outgoing_bandwidth_limit=2

配置RPC

  • channel_listen_ip: Channel监听IP,为方便节点和SDK跨机器部署,默认设置为0.0.0.0
  • jsonrpc_listen_ip:RPC监听IP,安全考虑,默认设置为127.0.0.1,若有外网访问需求,请监听节点外网IP0.0.0.0
  • channel_listen_port: Channel端口,对应到Java SDK配置中的channel_listen_port
  • jsonrpc_listen_port: JSON-RPC端口。
[rpc]
    channel_listen_ip=0.0.0.0  
    channel_listen_port=20200
    jsonrpc_listen_ip=0.0.0.0 
    jsonrpc_listen_port=8545

配置P2P

当前版本FISCO BCOS必须在config.ini配置中配置连接节点的IPPort,P2P相关配置包括:

  • listen_ip:P2P监听IP,默认设置为0.0.0.0
  • listen_port:节点P2P监听端口。
  • node.*: 节点需连接的所有节点IP:PortDomainName:Port。该选项支持域名,但建议需要使用的用户手动编译源码
  • enable_compress:开启网络压缩的配置选项,配置为true,表明开启网络压缩功能,配置为false,表明关闭网络压缩功能,网络压缩详细介绍请参考这里
  • v2.6.0 版本开始,P2P 支持 ipv4 和 ipv6
[p2p]
    listen_ip=0.0.0.0
    listen_port=30300
    ; nodes to connect
    node.0=127.0.0.1:30300
    node.1=127.0.0.1:30301
    node.2=127.0.0.1:30302
    node.3=127.0.0.1:30303

配置账本文件路径

[group]配置本节点所属的所有群组配置路径:

  • group_data_path: 群组数据存储路径。
  • group_config_path: 群组配置文件路径。

节点根据group_config_path路径下的所有.genesis后缀文件启动群组。

[group]
    ; 所有群组数据放置于节点的data子目录
    group_data_path=data/
    ; 程序自动加载该路径下的所有.genesis文件
    group_config_path=conf/

配置证书信息

基于安全考虑,FISCO BCOS节点间采用SSL加密通信,[network_security]配置SSL连接的证书信息:

  • data_path:证书和私钥文件所在目录。
  • key: 节点私钥相对于data_path的路径。
  • cert: 证书node.crt相对于data_path的路径。
  • ca_cert: ca证书文件路径。
  • ca_path: ca证书文件夹,多ca时需要。
  • check_cert_issuer:设置SDK是否只能连本机构节点,默认为开启(check_cert_issuer=true)。
[network_security]
    data_path=conf/
    key=node.key
    cert=node.crt
    ca_cert=ca.crt
    ;ca_path=

配置黑名单列表

基于防作恶考虑,FISCO BCOS允许节点将不受信任的节点加入到黑名单列表,并拒绝与这些黑名单节点建立连接,通过[certificate_blacklist]配置:

crl.idx: 黑名单节点的Node ID, 节点Node ID可通过node.nodeid文件获取; idx是黑名单节点的索引。

黑名单的详细信息还可参考CA黑名单

黑名单列表配置示例如下:

; 证书黑名单
[certificate_blacklist]
    crl.0=4d9752efbb1de1253d1d463a934d34230398e787b3112805728525ed5b9d2ba29e4ad92c6fcde5156ede8baa5aca372a209f94dc8f283c8a4fa63e
3787c338a4

配置日志信息

FISCO BCOS支持功能强大的boostlog,日志配置主要位于config.ini[log]配置项中。

  • 日志通用配置

FISCO BCOS通用日志配 置项如下:

  • enable: 启用/禁用日志,设置为true表示启用日志;设置为false表示禁用日志,默认设置为true,性能测试可将该选项设置为false,降低打印日志对测试结果的影响
  • log_path:日志文件路径。
  • level: 日志级别,当前主要包括tracedebuginfowarningerror五种日志级别,设置某种日志级别后,日志文件中会输大于等于该级别的日志,日志级别从大到小排序error > warning > info > debug > trace
  • max_log_file_size:每个日志文件最大容量,计量单位为MB,默认为200MB
  • flush:boostlog默认开启日志自动刷新,若需提升系统性能,建议将该值设置为false。

boostlog示例配置如下:

[log]
    ; 是否启用日志,默认为true
    enable=true
    log_path=./log
    level=info
    ; 每个日志文件最大容量,默认为200MB
    max_log_file_size=200
    flush=true
  • 统计日志配置

考虑到实时监控系统资源使用情况在实际生产系统中非常重要,FISCO BCOS v2.4.0引入了统计日志,统计日志配置项位于config.ini中。

  • 配置统计日志开关

考虑到并非所有场景都需要网络流量和Gas统计功能,FISCO BCOS在config.ini中提供了enable_statistic选项来开启和关闭该功能,默认关闭该功能。

  • log.enable_statistic配置成true,开启网络流量和Gas统计功能
  • log.enable_statistic配置成false,关闭网络流量和Gas统计功能

配置示例如下:

[log]
    ; enable/disable the statistics function
    enable_statistic=false
  • 配置网络统计日志输出间隔

由于网络统计日志周期性输出,引入了log.stat_flush_interval来控制统计间隔和日志输出频率,单位是秒,默认为60s,配置示例如下:

[log]
    ; network statistics interval, unit is second, default is 60s
    stat_flush_interval=60

配置链属性

可通过config.ini中的[chain]配置节点的链属性。此配置项建链时工具会自动生成,用户不需修改。

  • id,链ID,默认为1;
  • sm_crypto,2.5.0版本以后,节点支持以国密模式或非国密模式启动,true表示节点使用国密模式,false表示节点使用非国密模式,默认为<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值