Cellframe Node General Configuration File is located in ` <Config.dir> /opt/cellframe-node/etc/cellframe-node.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 array - [ ] ``` ## General config sections - [[Cellframe Node General Config#Section [general]| general]] - cellframe-node general configuration - [[Cellframe Node General Config#Section [server]| server]] - configuration related to HTTP processing - [[Cellframe Node General Config#Section [notify_server]| notify_server]] - server settings for Cellframe wallet notifications - [[Cellframe Node General Config#Section [stream]| stream]] - stream configuration settings - [[Cellframe Node General Config#Section [dns_client]| dns_client]] - programm which transforms node adresses into IP's - [[Cellframe Node General Config#Section [bootstrap balancer]| bootstrap balancer]] - load balancer configuration - [[Cellframe Node General Config#Section [ledger]| ledger]] - settings of the main network/chain [[Ledger|registry]] - [[Cellframe Node General Config#Section [dag]| dag]] - [[DAG]] chain configuration - [[Cellframe Node General Config#Section [node_client]| node_client]] - settings for client's connection to another node - [[Cellframe Node General Config#Section [srv]| srv]] - paid services configuration - [[Cellframe Node General Config#Section [srv_dns]| srv_dns]] - DNS settings for paid services - [[Cellframe Node General Config#Section [mempool]| mempool]] - [[Mempool]] configuration - [[Cellframe Node General Config#Section [chain_net]| chain_net]] - [[Chain]] configuration settings - [[Cellframe Node General Config#Section [stream_ch_chain]| stream_ch_chain]] - chain synchronization channels settings - [[Cellframe Node General Config#Section [srv_vpn]| srv_vpn]] - [[Resources/Terms and definitions/KelVPN|VPN]] configuration - [[Cellframe Node General Config#Section [conserver]| conserver]] - [[5. CLI Node Commands]] configuration - [[Cellframe Node General Config#Section [resources]| resources]] - extra node settings - [[Cellframe Node General Config#Section [global_db]| global_db]] - [[Global Database (GDB)]] settings - [[Cellframe Node General Config#Section [plugins]| plugins]] - python plugins configuration ### Section: [general] General settings for cellframe-node #### Parameters ```ini debug_mode values: boolean (true by default) ``` - enables global debug logging for [[Node| cellframe-node]] ```ini debug_reactor values: boolean (false by default) ``` - enables global debug [[Reactor]] logging ```ini debug_dump_stream_headers values: boolean (false by default) ``` - enables global debug logging for stream packets ```ini debug_http values: boolean (false by default) ``` - enables global debug logging for HTTP protocols ```ini seed_mode values: boolean (false by default) ``` - [[Seed Mode]] is needed for starting new network from the scratch ```ini auto_online values: boolean (false by default) ``` - brings up links and synchronizes everything over them ### Section: [server] Node settings, related with maintenance of incoming connections #### Parameters ```ini enabled values: boolean (false by default) ``` - opens ports to internet and listens to links if enabled ```ini news_url_enabled values: boolean (false by default) ``` - turns on news URL ```ini bugreport_url_enabled values: boolean (false by default) ``` - turns on bugreport URL ```ini listen_address values: str (0.0.0.0 by default) ``` - sets listening address ```ini listen_port_tcp values: int (8079 by default) ``` - sets listening TCP port ```ini ext_address values: str (8.9.10.11 by default) ``` - sets external IPv4 address ```ini ext_address6 values: str (aaaa:bbbb:deee:96ff:feee:3fff by default) ``` - sets external IPv6 address (will be implemented in the future) ```ini ext_port_tcp values: int (8089 by default) ``` - TCP port for node table autofilling ### Section: [notify_server] Server settings for Cellframe Wallet notifications Node notifies about their states (port receives data packages) #### Parameters ```ini listen_path values: str (/opt/cellframe-node/var/run/node_notify by default) ``` - sets listening path ```ini listen_path_mode values: int (600 by default) ``` - sets listening path mode ```ini listen_address values: str (127.0.0.1 by default) ``` - sets listening address ```ini listen_port values: int (8080 by default) ``` - sets listening port ### Section: [stream] Stream settings (income and outcome connections for data exchange with other nodes) #### Parameters ```ini preferred_encryption values: str (SALSA2012 by default) ``` - sets encryption method ```ini debug values:boolean (true by default) ``` - enables debug stream protocol ### Section: [dns_client] Programm which transforms node adresses into IP's #### Parameters ```ini request_timeout values: int (10 by default) ``` - sets request timeout ### Section: [bootstrap balancer] Load balancer which regulates which node is less loaded #### Parameters ```ini dns_server values: boolean (false by default) ``` - opens DNS server (udp server) ```ini http_server values: boolean (false by default) ``` - opens HTTP server (tcp) ### Section: [ledger] Settings of the main network/chain[[Ledger| registry]] #### Parameters ```ini debug_more values: boolean (true by default) ``` - allows to see more debug information ### Section: [dag] [[DAG]] settings #### Parameters ```ini debug_more values: boolean (true by default) ``` - allows to see more debug information ```ini threshold_enable values: boolean (true by default) ``` - enables threshold ### Section: [node_client] Settings for client's connection to another node #### Parameters ```ini timer_update_states values: int (300 by default) ``` - sets update timer ### Section: [srv] Paid services which are provided corresponding to [[Orders#VPN service order|orders]] #### Parameters ```ini order_signed_only values: boolean (false by default) ``` - allows to block unsigned orders ### Section: [srv_dns] DNS settings for paid services #### Parameters ```ini enabled values: boolean (false by default) ``` - enables srv_dns ```ini pricelist values: array ([] by default) ``` - enables pricelist ### Section: [mempool] [[Mempool]] settings #### Parameters ```ini auto_proc values: boolean (false by default) ``` - enables auto-processing (need role master or higher) ### Section: [chain_net] Chain settings #### Parameters ```ini debug_more values: boolean (false by default) ``` - shows more debug information ### Section: [stream_ch_chain] Settings of chain channels which are needed for synchronization between nodes #### Parameters ```ini debug_more values: boolean (true by default) ``` - shows more debug information ```ini update_pack_size values: int (100 by default) ``` - increase this parameter (number of hashes packed in one update) to reduce update latency, decrease if network connection is bad ### Section: [srv_vpn] VPN settings #### Parameters ```ini enabled values: boolean (false by default) ``` - enable if you want to share VPN service from your node ```ini debug_more values: boolean (false by default) ``` - shows more debug information ```ini grace_period values: int (60 by default) ``` - sets time for grace period (in sec) which defines time while transaction is not handled yet ```ini network_address values: str (10.11.12.0 by default) ``` - address of internal network which has access to external one, lients of VPN service will be got IP address of this network locally ```ini network_mask values: str (255.255.255.0 by default) ``` - mask of this network ```ini net values: str (KelVPN by default) ``` - network in which node provides service ```ini wallet_addr values: str ``` - wallet address where payment will come ```ini receipt_sign_cert values: str ``` - the name of master node certificate which is used to sign payment checks ### Section [conserver] Console interface server [[5. CLI Node Commands]] #### Parameters ```ini enabled values: boolean (true by default) ``` - enables console interface server ```ini listen_port_tcp values: int (12345 by default) ``` - sets up listening TCP port ```ini listen_unix_socket_path values: str (/opt/cellframe-node/var/run/node_cli by default) ``` - sets up listening socket path ```ini listen_unix_socket_permissions values: int (777 by default) ``` - sets up socket Linux file permissions ### Section [resources] Extra node settings #### Parameters ```ini threads_cnt values: int (0 by default) ``` - threads counting (0 means auto detecting) ```ini notify_path values: str (/opt/cellframe-node/var/run/node_notify by default) ``` - sets notify path ```ini notify_permissions values: int (770 by default) ``` - sets notify Linux file permissions ```ini notify_user values: str (myuser by default) ``` - sets notify socket permissions for user ```ini notify_group values: str (mygroup by default) ``` - sets notify socket permissions for group ```ini pid_path values: str (/opt/cellframe-node/var/run/cellframe-node.pid by default) ``` - sets place where pid. file of node is (it prevents node duplication) ```ini log_file values: str (/opt/cellframe-node/var/log/cellframe-node.log by default) ``` - sets place where log. file of node is ```ini wallets_path values: str (/opt/cellframe-node/var/lib/wallet by default) ``` - sets place where wallet file of node is ```ini ca_folders values: array[str] ([/opt/cellframe-node/var/lib/ca,/opt/cellframe-node/share/ca] by default) ``` - sets place for certification authority folders ### Section [global_db] [[Global Database (GDB)]] settings #### Parameters ```ini path values: str (/opt/cellframe-node/var/lib/global_db by default) ``` - sets path to global_db file ```ini driver values: str (mdbx by default) ``` - sets driver is used for gdb (sqlite on MacOS) ```ini debug_more values: boolean (true by default) ``` - shows more debug information ```ini store_time_limit values: int (6 by default) ``` - hours quantity needed for deleting definite node groups ### Section [plugins] Python plugins settings #### Parameters ```ini py_path values: str (/opt/cellframe-node/var/lib/plugins by default) ``` - path to python plugins folder ```ini enabled values: boolean (true by default) ``` - enables python plugins in the node ```ini py_load values: boolean (true by default) ``` - loads python-based plugins