配置文件

FISCO BCOS generator的配置文件在./conf文件夹下,配置文件为:群组创世区块配置文件group_genesis.ini和生成节点配置文件node_deployment.ini

用户通过对conf文件夹下文件的操作,配置生成节点配置文件夹的具体信息。

元数据文件夹meta

FISCO BCOS generator的meta文件夹为元数据文件夹,需要存放fisco bcos二进制文件、链证书ca.crt、本机构机构证书agency.crt、机构私钥节点证书、群组创世区块文件等。

证书的存放格式需要为cert_p2pip_port.crt的格式,如cert_127.0.0.1_30300.crt。

FISCO BCOS generator会根据用户在元数据文件夹下放置的相关证书、conf下的配置文件,生成用户下配置的节点配置文件夹。

group_genesis.ini

通过修改group_genesis.ini的配置,用户在指定目录及meta文件夹下生成新群组创世区块的相关配置,如group.1.genesis

[group]
group_id=1

[nodes]
;群组创世区块的节点p2p地址
node0=127.0.0.1:30300
node1=127.0.0.1:30301
node2=127.0.0.1:30302
node3=127.0.0.1:30303

重要

生成群组创世区块时需要节点的证书,如上述配置文件中需要4个节点的证书。分别为:cert_127.0.0.1_30301.crt,cert_127.0.0.1_30302.crt,cert_127.0.0.1_30303.crt和cert_127.0.0.1_30304.crt。

node_deployment.ini

通过修改node_deployment.ini的配置,用户可以使用–build_install_package命令在指定文件夹下生成节点不含私钥的节点配置文件夹。用户配置的每个section[node]即为用户需要生成的节点配置文件夹.section[peers]为需要连接的其他节点p2p信息。

配置文件示例如下:

[group]
group_id=1

# Owned nodes
[node0]
p2p_ip=127.0.0.1
rpc_ip=127.0.0.1
p2p_listen_port=30300
channel_listen_port=20200
jsonrpc_listen_port=8545

[node1]
p2p_ip=127.0.0.1
rpc_ip=127.0.0.1
p2p_listen_port=30301
channel_listen_port=20201
jsonrpc_listen_port=8546

读取节点配置的命令,如生成节点证书和节点配置文件夹等会读取该配置文件。

模板文件夹tpl

generator的模板文件夹如下图所示:

├── applicationContext.xml # sdk配置文件模板
├── config.ini # 节点配置文件模板
├── config.ini.gm # 国密节点配置文件模板
├── group.i.genesis # 群组创世区块模板
├── group.i.ini # 群组区块配置模板
├── start.sh  # 节点启动脚本模板
├── start_all.sh # 节点批量启动脚本模板
├── stop.sh # 节点停止脚本模板
└── stop_all.sh # 节点批量停止脚本模板

generator在进行如生成节点或群组配置的相关操作时,会根据模板文件夹下的配置文件生成相应的节点配置文件夹/群组配置,用户可以修改模板文件夹下的相关文件,再运行部署相关命令,即可生成自定义节点。

FISCO BCOS配置的相关解释可以参考FISCO BCOS配置文件

节点p2p连接文件peers.txt

节点p2p连接文件peers.txt为生成节点配置文件夹时指定的其他机构的节点连接信息,在使用build_install_package命令时,需要指定与本机构节点进行连接的节点p2p连接文件peers.txt,生成的本机构节点配置文件夹会根据该文件与其他节点进行通信。

采用generate_all_certificates命令的用户会根据在conf目录下填写的node_deployment.ini生成相应的peers.txt,采用其他方式生成证书的用户需要手动生成本机构节点的p2p连接文件并发送给对方,节点p2p连接文件的格式如下所示:

127.0.0.1:30300
127.0.0.1:30301

格式为 对应节点ip:p2p_listen_port

  • 当需要与多机构节点通信时,需要将该文件合并