dash/doc
Konstantin Akimov 8dba6559f6
feat: enable HD wallets by default (#5807)
## Issue being fixed or feature implemented
HD wallets are old-existsing feature, appeared in Dash years ago, but
enabling HD wallets is not trivial task that requires multiple steps and
command line/rpc calls.
Let's have them enabled by default.

## What was done?
- HD wallets are enabled by default. Currently behavior `dashd`,
`dash-qt` are similar to run with option `-usehd=1`
- the rpc `upgradewallet` do not let to upgrade from non-HD wallet to HD
wallet to don't encourage user use non-crypted wallets (postponed till
v21)
- the initialization of ScriptPubKey is updated to be sure that encypted
HD seed is never written on disk (if passphrase is provided)
- enabled and dashified a script `wallet_upgradewallet.py` which test
compatibility between different versions of wallet


## What is not done?
- wallet tool still does not support passhprase, HD seed can appear on
disk
- there's no dialog that show user a mnemonic phrase and encourage him
to make a paper backup
 
Before removing a command line 'usehd' (backport bitcoin#11250) need to
make at least one major release for fail-over option (if someone wish to
use non-HD wallets only).


## How Has This Been Tested?
Run unit and functional tests.
Enabled new functional test `wallet_upgradewallet.py` that has been
backported long time ago but waited this PR to be enabled.

## Breaking Changes
HD wallets are created by default. 

## Checklist:
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone

---------

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2024-02-09 11:36:14 -06:00
..
man docs: update man pages (#5672) 2023-11-07 08:04:39 -06:00
release-notes/dash docs: release notes for 20.0.4 and archiving old one 2024-01-12 00:48:31 +07:00
.gitignore Merge #10166: Ignore Doxyfile generated from Doxyfile.in template. 2019-05-19 20:43:00 -05:00
assets-attribution.md Merge #945: More dash->dashcore 2016-08-19 05:46:30 -06:00
benchmarking.md Merge #17081: doc: fix Makefile target in benchmarking.md 2022-05-17 01:20:21 -04:00
bips.md Merge #20119: BIP155 follow-ups 2024-01-22 19:47:13 -06:00
bitcoin_logo_doxygen.png
build-freebsd.md Merge bitcoin/bitcoin#24646: doc: remove unneeded documentation on basic package management on FreeBSD 2024-01-01 17:48:18 -06:00
build-netbsd.md Merge bitcoin/bitcoin#25166: doc: Add link to NetBSD release 2024-01-14 11:05:37 -06:00
build-openbsd.md Merge #19605: doc: set CC_FOR_BUILD when building on OpenBSD 2024-01-19 10:34:33 -06:00
build-osx.md Merge #21346: doc: install qt5 when building on macOS 2024-01-23 22:14:10 -06:00
build-unix.md Merge #21064: refactor: use std::shared_mutex & remove Boost Thread 2024-01-16 09:29:52 -06:00
build-windows.md Merge #21342: doc: Remove outdated comment 2023-08-28 11:24:41 -05:00
dash-conf.md Merge bitcoin/bitcoin#22393: doc: added info to bitcoin.conf doc 2022-03-07 09:42:58 -06:00
dependencies.md Merge bitcoin/bitcoin#28561: build: Update qt package up to 5.15.10 2023-12-07 09:14:57 -06:00
descriptors.md Merge #18032: rpc: Output a descriptor in createmultisig and addmultisigaddress 2023-04-06 20:15:47 +03:00
developer-notes.md Merge bitcoin/bitcoin#24416: doc: Avoid ADL for function calls 2024-01-19 11:02:23 -06:00
dnsseed-policy.md Update dnsseed-policy.md (#2751) 2019-03-08 21:21:20 +03:00
Doxyfile.in Merge #15382: util: add RunCommandParseJSON 2024-02-01 09:22:03 -06:00
files.md Merge #20076: doc: Update and improve files.md 2024-01-27 22:44:47 -06:00
fuzzing.md Merge #20380: doc: Add instructions on how to fuzz the P2P layer using Honggfuzz NetDriver 2024-01-16 09:29:51 -06:00
guix.md Merge #20619: guix: Quality of life improvements 2023-03-26 16:50:26 -05:00
i2p.md docs: update tor and i2p docs (#5673) 2023-11-06 09:23:20 -06:00
init.md Merge #16556: Fix systemd service file configuration directory setup 2023-04-06 20:14:58 +03:00
instantsend.md Report instantlock: true for transactions locked via ChainLocks (#2877) 2019-04-25 18:38:26 +03:00
JSON-RPC-interface.md merge bitcoin#19762: Allow named and positional arguments to be used together 2023-07-28 00:18:27 -05:00
managing-wallets.md Merge bitcoin/bitcoin#22523: Document about wallet backup and restoration 2023-12-11 15:48:44 -06:00
masternode-budget.md Remove all legacy/compatibility MN code (#2600) 2019-01-03 12:17:43 +03:00
multiprocess.md Merge #18677: Multiprocess build support 2024-01-16 09:34:26 -06:00
productivity.md Merge #19058: doc: Drop protobuf stuff 2023-04-25 23:41:20 -05:00
psbt.md Merge #16047: doc: analyzepsbt description in doc/psbt.md 2023-02-10 23:34:57 +03:00
README_doxygen.md Merge #16912: doc: Remove Doxygen intro from src/bitcoind.cpp 2021-11-25 06:38:14 +05:30
README_windows.txt Merge #10155: build: Deduplicate version numbers 2019-06-14 01:25:59 -05:00
README.md Merge bitcoin/bitcoin#22739: doc: link to managing-wallets from docs README 2023-12-11 15:48:44 -06:00
reduce-memory.md Merge bitcoin/bitcoin#21709: doc: update reduce-memory.md and bitcoin.conf -maxconnections info 2022-04-05 23:10:05 -05:00
reduce-traffic.md merge bitcoin#19191: Extract download permission from noban 2023-06-05 10:11:03 -05:00
release-notes-4738.md feat(rpc): Tweak protx info to be able to show info for a specific block (#4738) 2024-02-07 12:34:16 -06:00
release-notes-5342.md docs: add release notes for 5342 (#5568) 2023-09-09 12:26:36 -05:00
release-notes-5493.md docs: Added release notes for #5493 (#5556) 2023-09-07 12:06:28 -05:00
release-notes-5742.md feat(rpc): gettxchainlocks should return mempool=false when tx not in mempool (#5742) 2023-12-24 11:58:14 -06:00
release-notes-5765.md feat(rpc): submit chainlock signature if needed RPC (#5765) 2023-12-18 22:27:19 -06:00
release-notes-5774.md docs: archive v20.0.2 release notes and create v20.0.3 release notes 2023-12-24 12:04:42 -06:00
release-notes-5775.md chore: do not include dash-qt in the docker images (#5775) 2023-12-21 21:59:01 -06:00
release-notes-5776.md feat(rpc): added optional block height in getassetunlockstatuses (#5849) 2024-02-01 09:15:20 -06:00
release-notes-5806.md feat: rpc submitchainlock short circuit if possible and always return… (#5806) 2024-02-01 10:14:59 -06:00
release-notes-5807.md feat: enable HD wallets by default (#5807) 2024-02-09 11:36:14 -06:00
release-notes-5834.md partial bitcoin#20833: enable packages through testmempoolaccept 2024-02-02 23:14:06 -06:00
release-notes-5839.md feat: new rpc getrawtransactionmulti (#5839) 2024-01-22 19:33:24 -06:00
release-notes-5853.md feat(rpc): quorum dkginfo rpc (#5853) 2024-02-01 09:17:40 -06:00
release-notes-15367.md Merge #15367: feature: Added ability for users to add a startup command 2023-12-06 12:33:15 -06:00
release-notes-16525.md Merge #16525: Dump transaction version as an unsigned integer in RPC/TxToUniv 2023-12-06 12:33:15 -06:00
release-notes-18244.md Merge #18244: rpc: fundrawtransaction and walletcreatefundedpsbt also lock manually selected coins 2024-01-22 19:44:36 -06:00
release-notes-18309.md Merge #18309: zmq: Add support to listen on multiple interfaces 2023-12-06 12:33:15 -06:00
release-notes-18982.md Merge #18982: wallet: Minimal fix to restore conflicted transaction notifications 2024-01-10 12:07:53 -06:00
release-notes-19725.md (Partial) Merge #19725: [RPC] Add connection type to getpeerinfo, improve logs 2024-01-09 08:15:36 -06:00
release-notes-19731.md Merge #19731: net, rpc: expose nLastBlockTime/nLastTXTime as last block/last_transaction in getpeerinfo 2024-01-28 22:20:47 +07:00
release-notes-22407.md Merge bitcoin/bitcoin#22407: rpc: Return block time in getblockchaininfo 2023-12-03 20:13:09 -06:00
release-notes-26896.md Merge bitcoin/bitcoin#26896: build: Remove port-forwarding runtime setting options from configure 2023-12-03 20:01:26 -06:00
release-notes-bitcoin-17219.md Merge bitcoin#19115: doc: Add release notes for 17219 2024-01-09 08:13:05 -06:00
release-notes.md docs: release notes for 20.0.4 and archiving old one 2024-01-12 00:48:31 +07:00
release-process.md Merge bitcoin/bitcoin#22531: guix: Fixes to guix-{attest,verify} 2024-02-07 10:14:42 -06:00
REST-interface.md Merge #20944: rpc: Return total fee in getmempoolinfo 2024-01-16 09:29:49 -06:00
shared-libraries.md Merge #20577: doc: libconsensus: add missing error code description, fix NBitcoin link 2024-01-16 07:57:33 -06:00
tor.md merge bitcoin#19961: tor.md updates 2024-02-06 08:44:06 -06:00
translation_process.md Merge #16982: build: Factor out qt translations from build system 2021-12-22 20:13:18 -05:00
translation_strings_policy.md Merge #16224: gui: Bilingual GUI error messages 2022-04-07 10:41:24 -05:00
zmq.md Merge #18309: zmq: Add support to listen on multiple interfaces 2023-12-06 12:33:15 -06:00

Dash Core

This is the official reference wallet for Dash digital currency and comprises the backbone of the Dash peer-to-peer network. You can download Dash Core or build it yourself using the guides below.

Running

The following are some helpful notes on how to run Dash Core on your native platform.

Unix

Unpack the files into a directory and run:

  • bin/dash-qt (GUI) or
  • bin/dashd (headless)

Windows

Unpack the files into a directory, and then run dash-qt.exe.

macOS

Drag Dash Core to your applications folder, and then run Dash Core.

Need Help?

Building

The following are developer notes on how to build Dash Core on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.

Development

The Dash Core repo's root README contains relevant information on the development process and automated testing.

Resources

Miscellaneous

License

Distributed under the MIT software license.