Cellframe-Node Chain Configuration File is located in `<Config.dir> /opt/cellframe-node/etc/network/netname/chainname.cfg` Config consists of sections and their parameters with the following structure: ```ini [section] key=value value: string/boolean/array/integer ``` Value types description: ```ini boolean - 1/0/true/false integer - numbers string - words, sentences, numbers or chars float - fractional numbers array - [ ] ``` [[Cellframe Node Chain Config#Zerochain configuration|Zerochain]] config sections: - [[Cellframe Node Chain Config#Section [chain]|chain]] - chain configuration settings - [[Cellframe Node Chain Config#Section [files]|files]] - file location settings - [[Cellframe Node Chain Config#Section [dag]|dag]] - [[DAG]] configuration - [[Cellframe Node Chain Config#Section [ledger]|ledger]] - [[Ledger]] configuration - [[Cellframe Node Chain Config#Section [dag_poa|dag_poa]] - [[Proof of Authority (PoA)]] consensus settings [[Cellframe Node Chain Config#Mainchain configuration|Mainchain]] config sections: - [[Cellframe Node Chain Config#Section main [chain]|chain]] - chain configuration settings - [[Cellframe Node Chain Config#Section main [files]|files]] - file location settings - [[Cellframe Node Chain Config#Section main [blocks]|blocks]] - blocks configuration - [[Cellframe Node Chain Config#Section main [esbocs]|esbocs]] - esbocs consensus settings ## Zerochain configuration ### Section: [chain] Chain configuration settings #### Parameters ```ini id values: str - number in HEX format (0x0000000000000000 by default) ``` - unique chain ID ```ini shard_id values: str - number in HEX format (0x0000000000000000 by default) ``` - ID of the [[Cell (Shard)|shard]] ```ini name values: str (zerochain by default) ``` - name of the chain ```ini load_priority values: int (0 by default) ``` - priority of config loading ```ini datum_types values: str array ([token,emission,ca,custom,decree] by default) ``` - types of allowed [[Data element (Datum)|datums]], possible values: `token, emission, transaction, ca, signer, decree, anchor, custom` ```ini default_datum_types values: str array ([token,emission,ca,custom,decree] by default) ``` - list of default [[Data element (Datum)|datums]] ```ini mempool_auto_types values: str array ([] by default) ``` - type of datums afforded for auto-processing ```ini consensus values: str (dag_poa by default) ``` - type of used consensus ([[Proof of Authority (PoA)]] in zerochain) ### Section: [files] Files path settings #### Parameters ```ini storage_dir values: str (../../../var/lib/network/scorpion/zerochain/ by default) ``` - path of zerochain files (DAG itself) ### Section: [dag] [[DAG]] chain settings #### Parameters ```ini is_single_line values: boolean (true by default) ``` - type of graph ```ini is_celled values: boolean (false by default) ``` - [no description] ```ini is_add_directly values: boolean (false by default) ``` - directed file record during validation ```ini datum_add_hashes_count values: int (1 by default) ``` - [no description] ```ini is_static_genesis_event values: boolean (true by default) ``` - enables genesis event ```ini static_genesis_event values: str - number in HEX format (0x6DD5EB423B94EECE44F6DA39D82D7BD2B4DD33744AC4DFB1D2E2971DAB40431A by default) ``` - hash of the genesis event ### Section: [ledger] [[Ledger]] configuration #### Parameters ```ini hard_accept_list values: str array ( [0xED2CDC9BBE884E2C6A3D974F2191D204326D177C1B24E811D576E1C1217484E1, ...] by default) ``` - list of blocks which are unconditionally accepted in chain ### Section: [dag_poa] [[DAG]] chain settings related to [[Proof of Authority (PoA)]] #### Parameters ```ini auth_certs_prefix values: str (scorpion.root by default) ``` - prefix for name of the root certificates ```ini auth_certs_number values: int (5 by default) ``` - quantity of root certificates ```ini auth_certs_number_verify values: int (3 by default) ``` - minimal certificates quantity for signing the event ```ini confirmations_timeout values: int (60 by default) ``` - time of the [[Round]] ```ini auto_confirmation values: boolean (true by default) ``` - automatic confirmation ```ini auto_round_complet values: boolean (true by default) ``` - automatic round completion ```ini wait_sync_before_complete values: int (120 by default) ``` - time given for signatures synchronization between root nodes ```ini hard_accept_list values: str array ( [0x0CB3A86F98E81E425CF4FA2DE126F4CD191E06365189925F8557A917B2856AA2,... by default) ``` - list of events which are unconditionally accepted in [[DAG]] ## Mainchain configuration ### Section: main [chain] Chain configuration settings #### Parameters ```ini id values: str - number in HEX format (0x0000000000000002 by default) ``` - unique chain ID ```ini shard_id values: str - number in HEX format (0x0000000000000000 by default) ``` - ID of the [[Cell (Shard)|shard]] ```ini name values: str (main by default) ``` - name of the chain ```ini load_priority values: int (2 by default) ``` - loading priority ```ini datum_types values: str array ([transaction,anchor] by default) ``` - types of allowed [[Data element (Datum)|datums]], possible values: `token, emission, transaction, ca, signer, decree, anchor, custom` ```ini default_datum_types values: str array ([transaction,anchor] by default) ``` - list of default [[Data element (Datum)|datums]] ```ini mempool_auto_types values: str (all by default) ``` - type of datums afforded for auto-processing ```ini consensus values: str (esbocs by default) ``` - type of applied [[Consensus]] ### Section: main [files] Files path settings #### Parameters ```ini storage_dir values: str (../../../var/lib/network/scorpion/main/ by default) ``` - path of mainchain files (blockchain itself) ### Section: main [blocks] Configuration related to [[Block|blocks]] #### Parameters ```ini is_celled values: boolean (false by default) ``` - [no description] ```ini is_static_genesis_block values: boolean (true by default) ``` - enables [[Genesis block]] ```ini static_genesis_block values: str - number in HEX format (0xD3E07282FC1C4FC733AEE7898BA1017DF7659CA7B64047886FA12EDD82759C23 by default) ``` - hash of the genesis block ```ini hard_accept_list values: str array ([0x88919EB894DFF88BF76BD33F9875F18090373E12DA16F9052D5F681A84D2CFEB,0x28D8106BF04511CE25F51F08FBACD0F346C08A53EE13CC01F9355CED892B3D4D,0xAF215CF026E6BED417F15649A8296D9E8ADBFC93BAF3BD3DA6E16F02E4D0FBC5] by default) ``` - list of blocks which are unconditionally accepted in blockchain ### Section: main [esbocs] Esbocs [[Consensus]] configuration #### Parameters ```ini consensus_debug values: boolean (true by default) ``` - shows consensus debug information ```ini poa_mode values: boolean (true by default) - commented ``` - [[Proof of Authority (PoA)]] mode ```ini min_validators_count values: int (1 by default) ``` - minimal validators quantity in the network ```ini auth_certs_prefix values: str (scorpion.master by default) ``` - prefix for name of the root certificates ```ini validators_addrs values: str array ([DFAB::CDC2::A6BA::48FB,BC53::9462::EF3A::E47D,D05E::E083::A665::37A8] by default) ``` - addresses of accepted validators ```ini new_round_delay values: int (30 by default) ``` - time delay between rounds ```ini preset_reward values: int (2851988815387151461 by default) ``` - preset reward