Qortal Project

The future of blockchain platforms

User Tools

Site Tools


how_to_edit_qortal_core_settings

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
how_to_edit_qortal_core_settings [04/11/2022 16:18] – update - WIP quickmythrilhow_to_edit_qortal_core_settings [05/22/2023 14:34] (current) – Removed bindAddress quickmythril
Line 4: Line 4:
 ===== settings.json File Information ===== ===== settings.json File Information =====
  
-To configure your Qortal Core settings, you can open and edit the settings.json file using any text editor.  Changes are only applied when loading the Core, so it must be restarted to take effect.  This file is found in the main "qortal" folder created when installing the Core.  On Windows however, it would be in the "%localappdata%/Qortal" folder by default.  Note: There is also a settings.json file in "C:/Program Files/Qortal" Changing that copy of the file is recommended for advanced users only, as it is just meant to specify the "userPath" setting, which tells the Core where to find your primary settings file, and database folder.  Info on relocating the database folder is given below.+**Caution: The settings.json file should be left blank, unless there is a specific reason to override the defaults, which are designed to be optimal for general use.** 
 + 
 +To configure your Qortal Core settings, you can open and edit the settings.json file using any text editor.  Changes are only applied when loading the Core, so it must be restarted to take effect.  This file is found in the main "qortal" folder created when installing the Core.  On Windows however, it would be in the "%localappdata%/Qortal" folder by default. 
 + 
 +Note: There is also a settings.json file in "C:/Program Files/Qortal" Changing that copy of the file is recommended for advanced users only, as it is just meant to specify the "userPath" setting, which tells the Core where to find your primary settings file, and database folder.  Info on relocating the database folder is given below.
  
 The settings file is written using the standard JSON format.  This requires a curly brace at the start and end, and each setting "key" should be enclosed in straight double quotes (do not use curly/angled “ ” quotes, or single ' ' quotes), followed by a colon, then the setting "value", which also needs quotes if it's a text value.  Numerical or boolean (true/false) values do not need quotes.  A comma must be placed between each key/value pair, but not after the last entry.  JSON is whitespace neutral, so any spaces, tabs, or new lines are ignored and not required.  Here is an example showing two equivalent layouts: The settings file is written using the standard JSON format.  This requires a curly brace at the start and end, and each setting "key" should be enclosed in straight double quotes (do not use curly/angled “ ” quotes, or single ' ' quotes), followed by a colon, then the setting "value", which also needs quotes if it's a text value.  Numerical or boolean (true/false) values do not need quotes.  A comma must be placed between each key/value pair, but not after the last entry.  JSON is whitespace neutral, so any spaces, tabs, or new lines are ignored and not required.  Here is an example showing two equivalent layouts:
Line 20: Line 24:
  
 **Here is explanation of the most commonly used settings:** **Here is explanation of the most commonly used settings:**
- 
-**bindAddress** - Adding "bindAddress":"0.0.0.0" will force IPv4 (disabling IPv6). 
  
 **apiDocumentationEnabled** - Setting this to true will enable the API Documentation page, found at [[http://localhost:12391/api-documentation]] by default.  This page assists in using the API, also providing information and examples for available API calls. **apiDocumentationEnabled** - Setting this to true will enable the API Documentation page, found at [[http://localhost:12391/api-documentation]] by default.  This page assists in using the API, also providing information and examples for available API calls.
Line 30: Line 32:
  
 **repositoryMaintenanceMinInterval & repositoryMaintenanceMaxInterval** - These settings determine the timeframe in which the database will be automatically "trimmed" to reduce storage space used.  The value should be given in milliseconds.  For example, 259200000 is the default minimum, which equals 3 days.  Note: A random value between these two options is chosen when starting the Core.  That means if you restart the Core daily, no maintenance will occur (unless your settings allow for values lower than one day). **repositoryMaintenanceMinInterval & repositoryMaintenanceMaxInterval** - These settings determine the timeframe in which the database will be automatically "trimmed" to reduce storage space used.  The value should be given in milliseconds.  For example, 259200000 is the default minimum, which equals 3 days.  Note: A random value between these two options is chosen when starting the Core.  That means if you restart the Core daily, no maintenance will occur (unless your settings allow for values lower than one day).
- 
-**topOnly** - Setting this to true will enable "top only sync" which results in a much smaller database, however it will prevent the ability to look up data from older blocks.  This can affect retrieving full information on older transactions, but will not interfere with most other features, like displaying your current balance.  Note: Enabling this with a "full sync" database in place will cause the Core to convert it to "top sync" Disabling this with a "top sync" database will cause the Core to discard the database and download a "full sync" bootstrap, or sync from 0 if that is disabled.  (See the following setting.) 
  
 **bootstrap** - Setting this to false will prevent the Core from automatically downloading the bootstrap file when no database is found.  This would allow syncing blocks from peers, starting at 0 (the genesis block). **bootstrap** - Setting this to false will prevent the Core from automatically downloading the bootstrap file when no database is found.  This would allow syncing blocks from peers, starting at 0 (the genesis block).
Line 37: Line 37:
 **isTestNet** - Setting this to true is required for anyone wanting to run a Qortal node on the test net.  More information regarding this will be added to its own wiki page. **isTestNet** - Setting this to true is required for anyone wanting to run a Qortal node on the test net.  More information regarding this will be added to its own wiki page.
  
-**listenPort** - The default port is 12392.  This should be changed if you have multiple nodes on the same network and want to enable port forwarding for all of them.+**listenPort** - The default port is 12392.  This can be changed if you have multiple nodes on the same network and want to enable port forwarding for all of them.  [[https://wiki.qortal.org/doku.php?id=port_forwarding|(More info)]]
  
 **minBlockchainPeers** - This specifies the minimum number of connected peers which must be at a given block height to be able to sync that block to your local database. **minBlockchainPeers** - This specifies the minimum number of connected peers which must be at a given block height to be able to sync that block to your local database.
Line 48: Line 48:
  
 **repositoryPath** - This specifies the location where the Core can find or create the blockchain database.  By default it's in the "db" folder within the same location as the settings file.  The backslash is used as an "escape character" in JSON, so to include that symbol within a string, a second one should be added.  For example, <nowiki>"repositoryPath":"D://db"</nowiki> will use the "db" folder on drive D. **repositoryPath** - This specifies the location where the Core can find or create the blockchain database.  By default it's in the "db" folder within the same location as the settings file.  The backslash is used as an "escape character" in JSON, so to include that symbol within a string, a second one should be added.  For example, <nowiki>"repositoryPath":"D://db"</nowiki> will use the "db" folder on drive D.
 +
 +**testNtpOffset** - Recommended for advanced users only.  Qubes & Whonix use "sdwdate" and may need this set to 0 to bypass using "NTP" instead.
  
 **qdnEnabled** - Setting this to false will disable all QDN / data hosting features, preventing your node from storing any associated content. **qdnEnabled** - Setting this to false will disable all QDN / data hosting features, preventing your node from storing any associated content.
Line 57: Line 59:
 **relayModeEnabled** - By default, the Core will act as a "go between" for any peers requesting data from your node, if you are not hosting those files, but connected to another peer who is.  Setting it to false will disable that behavior.  The status of this setting is also visible in the Qortal UI at the bottom the Websites plugin page. **relayModeEnabled** - By default, the Core will act as a "go between" for any peers requesting data from your node, if you are not hosting those files, but connected to another peer who is.  Setting it to false will disable that behavior.  The status of this setting is also visible in the Qortal UI at the bottom the Websites plugin page.
  
-**maxStorageCapacity** - This setting can be used to limit the amount of space available for QDN data hosting (in the folder specified by the dataPath setting).  By default, there is no limit aside from the available drive space on your system.  The value should be given in bytes.  For example, 1048576 would limit storage to 1 GB.+**maxStorageCapacity** - This setting can be used to limit the amount of space available for QDN data hosting (in the folder specified by the dataPath setting).  By default, there is no limit aside from the available drive space on your system.  The value should be given in bytes.  For example, 1073741824 would limit storage to 1 GB.
how_to_edit_qortal_core_settings.1649708292.txt.gz · Last modified: 04/11/2022 16:18 by quickmythril