节点配置介绍¶
标签:Air版区块链网络
配置
config.ini
config.genesis
端口配置
日志级别
配置
重要
相关软件和环境版本说明!请查看
FISCO BCOS支持多账本,每条链包括多个独立账本,账本间数据相互隔离,群组间交易处理相互隔离,每个节点包括一个主配置config.ini
、创世区块配置config.genesis
。
config.ini
:主配置文件,主要配置RPC、P2P、SSL证书、账本配置文件路径、兼容性等信息。config.genesis
:创世块配置文件,主要配置consensus和tx等信息。
主配置文件config.ini¶
config.ini
采用ini
格式,主要包括 p2p、rpc、cert、chain、security、consensus、executor、storage、txpool和log 配置项。
重要
- 云主机的公网IP均为虚拟IP,若listen_ip填写外网IP,会绑定失败,须填写0.0.0.0
- RPC/P2P监听端口必须位于1024-65535范围内,且不能与机器上其他应用监听端口冲突
- 为便于开发和体验,listen_ip参考配置是 0.0.0.0 ,出于安全考虑,请根据实际业务网络情况,修改为安全的监听地址,如:内网IP或特定的外网IP
配置RPC¶
listen_ip
: 监听IP,为方便节点和SDK跨机器部署,默认设置为0.0.0.0
;listen_port
: 监听端口,默认设置为20200
;thread_count
: 线程数,默认为 4;sm_ssl
: 使用 ssl 还是 sm ssl,默认为 false;
RPC配置示例如下:
[rpc]
listen_ip=0.0.0.0
listen_port=20200
thread_count=4
; ssl or sm ssl
sm_ssl=false
; ssl connection switch, if disable the ssl connection, default: false
;disable_ssl=true
配置P2P¶
当前版本FISCO BCOS必须在config.ini
配置中配置连接节点的IP
和Port
,P2P相关配置包括:
listen_ip
:P2P监听IP,默认设置为0.0.0.0
;listen_port
:节点P2P监听端口;sm_ssl
: 使用 ssl 还是 sm ssl,默认为 false;nodes_path
:生成节点的文件路径,默认为./
当前文件夹nodes_file
:节点链接信息文件nodes.json
所在路径。
P2P配置示例如下:
[p2p]
listen_ip=0.0.0.0
listen_port=30300
; ssl or sm ssl
sm_ssl=false
nodes_path=./
nodes_file=nodes.json
配置证书信息¶
基于安全考虑,FISCO BCOS节点间采用SSL加密通信,[cert]
配置SSL连接的证书信息:
ca_path
: ca证书文件夹。ca_cert
: ca证书文件路径。
[cert]
; directory the certificates located in
ca_path=./conf
; the ca certificate file
ca_cert=ca.crt
; the node private key file
node_key=ssl.key
; the node certificate file
node_cert=ssl.crt
[security]
配置私钥文件路径:
private_key_path
:私钥文件路径:
[security]
private_key_path=conf/node.pem
配置chain链信息¶
[chain]
配置节点的链信息,该配置下的字段信息,一旦确定就不应该再更改:
sm_crypto
: 是否使用SM国密加密,默认为false。group_id
:群组ID。chain_id
:链ID。
[chain]
; use SM crypto or not, should nerver be changed
sm_crypto=false
; the group id, should nerver be changed
group_id=group0
; the chain id, should nerver be changed
chain_id=chain0
配置共识信息¶
考虑到PBFT模块打包太快会导致某些区块中仅打包1到2个很少的交易,浪费存储空间,FISCO BCOS在可变配置config.ini
的[consensus]
下引入min_seal_time
配置项来控制PBFT共识打包的最短时间,即:共识节点打包时间超过min_seal_time
且打包的交易数大于0才会开始共识流程,处理打包生成的新区块。
重要
min_seal_time
默认为500msmin_seal_time
不可超过出空块时间1000ms,若设置值超过1000ms,系统默认min_seal_time为500ms
[consensus]
; min block generation time(ms)
min_seal_time=500
配置executor信息¶
[executor]
配置执行器信息:
is_wasm
: 是否使用wasm虚拟机,当设置为false时启动evm虚拟机,默认为false。is_auth_check
: 是否开启权限检查,默认为false。auth_admin_account
: 权限管理员账户地址。
[executor]
; use the wasm virtual machine or not
is_wasm=false
is_auth_check=false
auth_admin_account=
配置交易池信息¶
[txpool]
配置交易池信息:为防止过多交易堆积在交易池内占用太多内存,FISCO BCOS提供了[tx_pool].limit
来限制交易池容量
limit
: 限制交易池内可以容纳的最大交易数目,默认为150000
,超过该限制后,客户端发到节点的交易会被拒绝。notify_worker_num
: 交易通知线程数量,默认为2。verify_worker_num
: 交易验证线程数量,默认为2。
[txpool]
limit=15000
notify_worker_num=2
verify_worker_num=2
配置日志信息¶
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。
boostlog示例配置如下:
[log]
enable=true
log_path=./log
; info debug trace
level=DEBUG
; MB
max_log_file_size=200
主配置文件config.genesis¶
config.genesis
主要包括 consensus、tx 配置项。
创世块配置consensus信息¶
[consensus]
创世块配置共识信息:
consensus_type
: 创世块共识类型,默认支持pbft
。block_tx_count_limit
: 创世块里可包含的最大交易数,默认设置为 1000;consensus_timeout
: 创世块共识超时时间,默认设置为 3000;leader_period
: 共识过程,每个leader连续打包的区块数目,默认为 1;node.idx
:共识节点列表,配置了参与共识节点的NodeID。
[consensus]
; consensus algorithm now support PBFT(consensus_type=pbft)
consensus_type=pbft
; the max number of transactions of a block
block_tx_count_limit=1000
; in millisecond, block consensus timeout, at least 3000ms
consensus_timeout=3000
; the number of blocks generated by each leader
leader_period=1
; the node id of consensusers
node.0=b49f9e3f3361ab2716e8d5d090e1624775a6ed6676cca154dfad0851c98ad5c67b0d09c7d0a9a9c45538a348c52da2b7bc4bf0ca6f3f1916bb0814f3457d99f1: 1
node.1=25a74770aab78750c0e94deaeee6f17efd7ad22d56443c5c7c3781ff81b464e562ff081b77f1e5eb831e7e66b944456289631b506133f55a973cf4781beca4a1: 1
创世块配置tx信息¶
[tx]
创世块配置交易信息:
gas_limit
: 交易执行时gas限制,默认设置为 300000000;
[tx]
; transaction gas limit
gas_limit=300000000