fisco-bcos节点配置文件(config.ini,group.x.genesis,group.x.ini)
文章目录
FISCO BCOS支持多账本,每条链包括多个独立账本,账本间数据相互隔离,群组间交易处理相互隔离,每个节点包括一个主配置
config.ini
和多个账本配置
group.group_id.genesis
、
group.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,若有外网访问需求,请监听节点外网IP或0.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
配置中配置连接节点的IP
和Port
,P2P相关配置包括:
listen_ip
:P2P监听IP,默认设置为0.0.0.0
。listen_port
:节点P2P监听端口。node.*
: 节点需连接的所有节点IP:Port
或DomainName: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
: 日志级别,当前主要包括trace
、debug
、info
、warning
、error
五种日志级别,设置某种日志级别后,日志文件中会输大于等于该级别的日志,日志级别从大到小排序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
表示节点使用非国密模式,默认为<