Configuration Files#
dash.conf#
To use dashd
and dash-cli
, you will need to add a RPC password to your dash.conf
file. Both programs will read from the same file if both run on the same system as the same user, so any long random password will work:
rpcpassword=change_this_to_a_long_random_password
You should also make the dash.conf
file only readable to its owner. On Linux, Mac OSX, and other Unix-like systems, this can be accomplished by running the following command in the Dash Core application directory:
chmod 0600 dash.conf
For development, it’s safer and cheaper to use Dash’s test network (testnet), regression test mode (regtest), or a developer network (devnet) described below.
Questions about Dash use are best sent to the Dash forum and Discord channels.
Example Testnet Config#
testnet=1
# RPC Settings
rpcuser=user
rpcpassword=pass
rpcallowip=127.0.0.1
#----
listen=1
server=1
# Index Settings
txindex=1
addressindex=1
timestampindex=1
spentindex=1
[test]
rpcport=19998
Configuration sections for different networks#
Since Dash Core 0.16 it is possible for a single configuration file to set different options for different networks. This is done by using sections or by prefixing the option with the network as shown below:
❗️ Valid Section Names
Please note that the only valid section names are
[main]
,[test]
,[regtest]
, and[devnet]
.
# Enable RPC server for all networks
server=1
[main]
# Set custom mainnet ports
port=9989
rpcport=9988
# Set custom mainnet RPC auth
rpcuser=mainnetuser
rpcpassword=mainnetpass
[test]
# Set custom testnet RPC auth
rpcuser=testnetuser
rpcpassword=testnetpass
# Enabling indexing
txindex=1
addressindex=1
timestampindex=1
spentindex=1
[regtest]
mempoolsize=20
[devnet]
port=21999
rpcport=21998
With this configuration file, dashd, dash-qt, or dash-cli can be run with the -conf=<configuration file>
along with the -testnet
, -regtest
, or -devnet=<devnet name>
parameter to select the correct settings.
❗️
The following options will only apply to mainnet unless they are in a section (e.g.,
[test]
):addnode=
,connect=
,port=
,bind=
,rpcport=
,rpcbind=
andwallet=
. The options to choose a network (regtest=
andtestnet=
) must be specified outside of sections.
settings.json#
👍 Added in Dash Core 18.1.0
Since Dash Core 18.1, wallets created or loaded in the GUI will now be automatically loaded on startup so they don’t need to be manually reloaded the next time Dash is started. The list of wallets to load on startup is stored in \<datadir\>/settings.json
. Additionally, any wallets specified in -wallet=
settings on the command line or in the dash.conf
file are also loaded. Wallets that are unloaded in the GUI are also removed from the settings list so they won’t automatically load on the next startup.
The createwallet
, loadwallet
, and unloadwallet
RPCs now accept load_on_startup
options to modify the settings list. Unless these options are explicitly set to true or false, the list is not modified, so the RPC methods remain backwards compatible.