Block Producer node
The different services used in a deployment needs to be configured for the specific architecture of the deployment.
The following page describes the different configuration files for the services.
Block producer node
The block producer nodes each need to be configured to have the correct network setup for the initial deployment. The configuration for a block producer node is shown in the json code below.
blockchain
, holds the information for the network setup of the node and the list of initial peers, the other block producer node should run the blockchain with.externalListenerPort
, is the port the block producer node listens for TCP connections on. This is the port an MPC node or an Execution Engine uses for connecting to the companion block producer node.externalListenerKey
, is the private key used to authenticate this node on the external TCP connections. The corresponding public key must be known and configured by the client of the connection, e.g. the MPC node or Execution Engine.floodingPort
, is used for the flooding network between block producer nodes. This is the port that is in the peer list of the other block producer nodes.storage
, field is the directory in the running node, used as persistent storage of the state of blockchain.peers
, the list of the other Block producer nodes in the initial network. Each entry is the endpoint used for the flooding network by a block producer node.
enableReaderNode
, flag for starting the reader REST server, to serve chain data through.restPort
, the port that the REST server listens on for requests.producer
, the configuration of the block producer node used for the network. Depending on the consensus protocol usedaccountKey
, the private key for the producers account. The account key is used for signing transaction.finalizationKey
, BLS private key for the producers finalization key. The finalization key is used for signing blocks to make them final.networkKey
, the private key for the producers network key. The network key is used for authentication when communicating directly with the node (TLS) or when the node creates things that needs to be authenticated (signatures).networkDelay
, the expected time that the network will delay messages between parties.timeout
, the time between blocks where there are no transactions and events.
genesisFile
, the file containing the initial state of the chain.
Click here to view: Block Producer - Example configuration
{
"blockchain": {
"externalListenerPort": 9111,
"externalListenerKey": "DDD",
"floodingPort": 8999,
"storage": "target/storage0",
"peers": [
"bc-node-3:8999",
"bc-node-2:8999",
"bc-node-1:8999"
]
},
"enableReaderNode": true,
"restPort": 9432,
"producer": {
"fastTrackConfig": {
"accountKey": "AAA",
"finalizationKey": "BBB",
"networkKey": "CCC",
"networkDelay": "2000",
"timeout": "90000"
}
},
"genesisFile": "genesis-conf/genesis.zip"
}