The Discreet daemon implements a full node on the Discreet network, and stores the whole blockchain, while providing utilities for the network and wallet. The daemon acts as both a server in the peer-to-peer network, and as an interface for interacting in the network or with the blockchain or wallets via the RPC API.
Configuring the Daemon
The daemon can be configured to provide specific utility. In the path to the daemon, there is a JSON file called
config.json. The following settings can be changed:
DaemonPath: The path to the daemon. This defaults to a directory called
discreet contained in your home folder.
DBSize: This is deprecated.
DBPath: The path to the folder containing the DisDB. This defaults to a subdirectory in the DaemonPath called
LogPath: The path to the folder containing the log files of the daemon. This defaults to a subdirectory in the DaemonPath called
WalletPath: The path to the folder containing the WalletDB. This defaults to a subdirectory in the DaemonPath called
ConfigPath: The path to the config file. This defaults to a file in the DaemonPath called
Port: The port to expose network communications on. This should be opened properly, otherwise the daemon will run in private mode. The default value is 9875.
RPCPort: The port to expose the RPC API on. This defaults to 8350.
RPCIndented: Whether or not to return properly indented (non-compressed) JSON information through the RPC API. Defaults to false.
RPCIndentSize: The size of the indent used for the RPC API, if RPCIndented is true. Defaults to 4.
RPCUseTabs: Whether or not to use tabs instead of spaces in the JSON data returned from the RPC API, if RPCIndented is true. If set, RPCIndentSize is ignored. Defaults to false.
ZMQPort: The port to expose the ZMQ topics on. This defaults to 26833.
HTTPPort: This is deprecated.
Endpoint: The endpoint to listen to peers on. This defaults to the IPv4 any address (0.0.0.0) on the default port (9875).
BootstrapNode: The IP of the bootstrap node to use for bootstrapping the daemon. This has no default value, and if not set in the config, will be asked for by the daemon during initialization.
NetworkID: The ID of the network to use. Default is 1, and for the Discreet network, this is 1.
NetworkVersion: The current version of the networking used by the daemon. This is 1, and defaults to 1.
IsPublic: Whether or not the daemon should run in public mode, i.e. can participate in the network as a public peer. Defaults to false.
SigningKey: This is a testnet-only parameter used as the private key for signing blocks. This has no default value and a random one is generated if not found in the config.
NetConfig: This is deprecated.
APISets: This is an array of the names of the API sets to enable. This can have the following elements:
all: All of the API sets.
read: The Read API set.
transaction: The Transaction API set.
wallet: The Wallet API set.
storage: The Storage API set.
seed_recovery: The Seed Recovery API set.
status: The Status API set.