Dash Core is the Desktop Wallet for Digital Cash (DASH)

To update or switch versions, run webi dashcore@stable (or @v19, @beta, etc).

System Requirements

  • 50GB Free Storage (100GB recommended)
  • 4GB RAM (8GB recommended)
  • 4 hours for initial sync

Files

These are the files / directories that are created and/or modified with this install:

~/.config/envman/PATH.env
~/.local/opt/dashcore/

# For convenience
~/.local/bin/dash-qt-hd
~/.local/bin/dash-qt-testnet

# Linux
~/.dashcore/settings.json
~/.dashcore/testnet3/

# macOS
~/Library/Application Support/DashCore/settings.json
~/Library/Application Support/DashCore/testnet3/
~/Library/Saved Application State/org.dash.Dash-Qt.savedState
~/Library/Preferences/org.dash.Dash-Qt.plist

dashcore-utils will also be installed if not present.

Cheat Sheet

DASH (portmanteau of Digital Cash) is an international currency. Dash Core is the original suite of tools for Dash, maintained by DCG.

The original tools include:

  • dash-qt - a Desktop Wallet for sending and receiving money
  • dashd - the Full Node server daemon
    (for APIs, servers, and such)
  • dash-cli - send RPC commands (same as the dash-qt command console)
  • dash-tx - create and debug raw (hex) transactions
  • dash-wallet - interact with wallet files offline

The webi installer also includes two convenience wrapper scripts:

  • dash-qt-hd
  • dash-qt-testnet

To open an existing (or create a new) Dash Desktop Wallet:

dash-qt \
    -usehd \
    -walletdir="$HOME/.config/dashcore/wallets/" \
    -settings="$HOME/.config/dashcore/settings.json" \
    -datadir="$HOME/.dashcore/_data/" \
    -blocksdir="$HOME/.dashcore/_caches/"

Or pass -testnet to use with TestNet:

dash-qt \
    -testnet \
    -usehd \
    -walletdir="$HOME/.config/dashcore/wallets/" \
    -settings="$HOME/.config/dashcore/settings.json" \
    -datadir="$HOME/.dashcore/_data/" \
    -blocksdir="$HOME/.dashcore/_caches/"

IMPORTANT: How to NOT Lose Money!

dash-qt-hd should be preferred to dash-qt.

For historical reasons, dash-qt uses lossy keys by default!

This is very dangerous - without a Wallet Phrase to recover HD Keys, file corruption (or losing the device) can lead to losing money permanently.

To avoid this you may use dash-qt-hd, or create your wallet with -usehd (optionally with -mnemonic=<wallet phrase> if you'd like to recover an existing wallet), or upgradetohd.

How to Convert from Lossy to HD

If you used dash-qt without -usehd and already created a wallet, you can fix it from the command console, which can be found in Window => Console.

# Usage
# upgradetohd [wallet phrase] [legacy salt] <wallet encryption phrase>

# Example
upgradetohd "" "" "correct horse battery staple"

# Example with the "zoomonic" and a legacy salt
upgradetohd "zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo wrong" \
    "TREZOR" "correct horse battery staple"

It's a good idea to back up your wallet before running the conversion.

For more detail see: https://docs.dash.org/en/stable/docs/user/wallets/dashcore/advanced.html

How to Separate Caches from Data

You can make your data much safer by separating it from the caches you may need to delete by setting:

  • -walletdir= your money!!
  • -settings= desktop app settings!
  • -conf= server settings
  • -datadir= miscellaneous
  • -blocksdir= generic caches
dash-qt \
    -usehd \
    -settings="$HOME/.config/dashcore/settings.json" \
    -walletdir="$HOME/.config/dashcore/wallets/" \
    -datadir="$HOME/.dashcore/_data/" \
    -blocksdir="$HOME/.dashcore/_caches/" \
    -enablecoinjoin=1 \
    -coinjoinautostart=1 \
    -coinjoinrounds=16 \
    -coinjoindenomsgoal=10 \
    -coinjoindenomshardcap=25

How to Mix with CoinJoin

CoinJoin aids in preventing some bad actors and malicious observers being able to easily reconstruct details about your transactions from the publicly available data by creating many excess transactions.
(be aware, however, that dedicated bad actors can use sophisticated software that will reveal much of the same information over time)

dash-qt does not enable CoinJoin mixing by default.

dash-qt-hd does. It runs the following:

dash-qt \
    -usehd \
    -enablecoinjoin=1 \
    -coinjoinautostart=1 \
    -coinjoinrounds=16 \
    -coinjoindenomsgoal=10 \
    -coinjoindenomshardcap=25

The coinjoindenomsgoal and coinjoindenomshardcap prevent CoinJoin from splitting coins down into hundreds of small, unusable coins.

Other Tools

  • dashphrase for generating secure Wallet Phrases
  • dashsight for inspecting balances, transactions, etc via API (without downloading the indexes)

More Documentation

All of the command line flags and options for the Dash Core Desktop Wallet are documented between these two pages:

The config files dash.conf (mainly for Full Nodes) and settings.json (mainly for Desktop Wallets) are documented at:

Contribute

Report an Issue Submit Installer Star on GitHub