dash/doc
pasta 37e026a038
Merge #6074: backport: merge bitcoin#18344, #20867, #20286, #21359, #21910, #19651, #21934, #22722, #20295, #23702, partial bitcoin#23706 (rpc backports)
b23d94b14f partial bitcoin#23706: getblockfrompeer followups (Kittywhiskers Van Gogh)
7e5cc5e375 merge bitcoin#23702: Add missing optional to getblockfrompeer (Kittywhiskers Van Gogh)
c294457b52 merge bitcoin#20295: getblockfrompeer (Kittywhiskers Van Gogh)
63ac87f011 merge bitcoin#22722: update estimatesmartfee rpc to return max of estimateSmartFee, mempoolMinFee and minRelayTxFee. (Kittywhiskers Van Gogh)
07e4c2cdd0 merge bitcoin#21934: Include versionbits signalling details during LOCKED_IN (Kittywhiskers Van Gogh)
960e7687d4 merge bitcoin#19651: importdescriptors update existing (Kittywhiskers Van Gogh)
1f31823fed merge bitcoin#21910: remove redundant fOnlySafe argument (Kittywhiskers Van Gogh)
69c5aa8947 merge bitcoin#21359: include_unsafe option for fundrawtransaction (Kittywhiskers Van Gogh)
169dce7e50 merge bitcoin#20286: deprecate addresses and reqSigs from rpc outputs (Kittywhiskers Van Gogh)
7cddf70c58 merge bitcoin#20867: Support up to 20 keys for multisig under Segwit context (Kittywhiskers Van Gogh)
7c59923845 merge bitcoin#18344: Fix nit in getblockchaininfo (Kittywhiskers Van Gogh)
ec0803a0f5 refactor: align `TxToUniv` argument list with upstream (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  * Closes https://github.com/dashpay/dash/issues/6000

  * `TxToUniv`'s argument list needed to be rearranged to match upstream as closely as possible (i.e. placing Dash-specific arguments at the end of the list to allow for code to be backported unmodified, relying on default arguments instead of having to modify each invocation to insert the default argument in between).

    This was due to a new `TxToUniv` variant being introduced in [bitcoin#20286](https://github.com/bitcoin/bitcoin/pull/20286)

  * The maximum number of public keys in a multisig remains the same. The upper limit for bare multisigs is and always has been `MAX_PUBKEYS_PER_MULTISIG` ([source](19512988c6/src/script/interpreter.cpp (L1143-L1144))), which has always been 20 ([source](19512988c6/src/script/script.h (L28-L29))). The limit of up to 16 comes from P2SH overhead ([source](19512988c6/src/script/descriptor.cpp (L877-L880))) and that hasn't changed.

    In effect, what [bitcoin#20867](https://github.com/bitcoin/bitcoin/pull/20867) does to Dash Core is change the error from "too many public keys" (as we'll be testing against the bare multisig limit) to "excessive redeemScript size" ([source](19512988c6/src/rpc/util.cpp (L223-L225))) (which is the _true_ limitation).

  * Backporting [bitcoin#21934](https://github.com/bitcoin/bitcoin/pull/21934) required a minor change in the condition needed to emit `activation_height` as `has_signal` in the preceding block will evaluate true for both `STARTED` and `LOCKED_IN` while earlier it would only for `STARTED`.

  * In [bitcoin#22722](https://github.com/bitcoin/bitcoin/pull/22722), a `self.stop_node` had to be added to account for the absurd fee warning that a new test condition introduces.

  * [bitcoin#23706](https://github.com/bitcoin/bitcoin/pull/23706) is partial due to commits in it that rely on RPC type enforcement, which is currently not implemented in Dash Core.

  * `feature_dip3_deterministicmns.py` depends on the reporting of `addresses` to validate multisigs containing expected payees. There is no replacement RPC call to report the pubkeys that compose a multisig address. In the interm, the `-deprecatedrpc=addresses` flag has been enabled to allow the test to run otherwise unmodified.

  ## Breaking Changes

  * The following RPCs:  `gettxout`, `getrawtransaction`, `decoderawtransaction`, `decodescript`, `gettransaction`, and REST endpoints: `/rest/tx`, `/rest/getutxos`, `/rest/block` deprecated the following fields (which are no longer returned in the responses by default): `addresses`, `reqSigs`.

    The `-deprecatedrpc=addresses` flag must be passed for these fields to be included in the RPC response. Note that these fields are attributes of the `scriptPubKey` object returned in the RPC response. However, in the response of `decodescript` these fields are top-level attributes, and included again as attributes of the `scriptPubKey` object.

  * When creating a hex-encoded Dash transaction using the `dash-tx` utility with the `-json` option set, the following fields: `addresses`, `reqSigs` are no longer returned in the tx output of the response.

  * The error message for attempts at making multisigs with >16 pubkeys will change to an "excessive redeemScript size" instead of the previous "too many public keys".

  ## Checklist:

  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**
  - [x] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK b23d94b14f
  PastaPastaPasta:
    utACK b23d94b14f

Tree-SHA512: 659d9ba3a0a9f8594b307a7056ab172309d5a0d9efec605bc4b345f7e0fb1032ad303af9e8f51dbd6549e82d0b738ad41eae8a5b3aebf59081f39df0d4b5ec7c
2024-06-27 17:37:09 -05:00
..
man docs: update manpages for 20.1 2024-03-04 18:44:18 +03:00
release-notes/dash docs: add v20.1.1 release notes 2024-04-03 13:12:29 -05:00
.gitignore
assets-attribution.md
benchmarking.md Merge bitcoin/bitcoin#22292: bench, doc: benchmarking updates and fixups 2024-05-15 03:03:18 +07:00
bips.md Merge #20119: BIP155 follow-ups 2024-01-22 19:47:13 -06:00
bitcoin_logo_doxygen.png
build-freebsd.md
build-netbsd.md
build-openbsd.md Merge #20512: doc: Add bash as an OpenBSD dependency 2024-04-03 14:11:35 +07: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 #21205: build: actually fail when Boost is missing 2024-06-20 12:23:12 +07:00
build-windows.md merge bitcoin#22093: Try posix-specific CXX first for mingw32 host 2024-06-25 13:39:57 +00:00
cjdns.md merge bitcoin#24555: create initial doc/cjdns.md for CJDNS how-to documentation 2024-05-29 18:07:45 +00:00
dash-conf.md Merge bitcoin/bitcoin#25883: doc: Security config warning 2024-02-29 09:35:00 -06:00
dependencies.md Merge bitcoin/bitcoin#28769: build: Update qt package up to 5.15.11 2024-05-24 13:21:05 -05:00
descriptors.md Merge bitcoin/bitcoin#25925: doc: add {import,list}descriptors to list of descriptor RPCs 2024-06-08 20:59:36 -05:00
developer-notes.md Merge #20691: ci, doc: Travis CI features and mentions cleanup 2024-03-27 00:48:26 +07:00
dnsseed-policy.md
Doxyfile.in Merge #15382: util: add RunCommandParseJSON 2024-02-01 09:22:03 -06:00
files.md Merge bitcoin/bitcoin#21818: doc: fixup -coinstatsindex help, update bitcoin.conf and files.md 2024-02-27 12:01:02 -06:00
fuzzing.md
guix.md
i2p.md merge bitcoin#24555: create initial doc/cjdns.md for CJDNS how-to documentation 2024-05-29 18:07:45 +00:00
init.md Merge #21075: doc: Fix markdown formatting 2024-04-11 02:25:05 +07:00
instantsend.md
JSON-RPC-interface.md
managing-wallets.md
masternode-budget.md
multiprocess.md Merge #17934: doc: Use CONFIG_SITE variable instead of --prefix option 2024-04-11 02:26:03 +07:00
productivity.md Merge bitcoin/bitcoin#25359: doc: add distcc to productivity notes 2024-02-22 20:58:44 -06:00
psbt.md
README_doxygen.md
README_windows.txt
README.md merge bitcoin#24663: add links to doc/cjdns.md 2024-05-29 18:07:45 +00:00
reduce-memory.md
reduce-traffic.md
release-notes-5342.md
release-notes-5493.md
release-notes-5861.md merge bitcoin#19969: Send RPC bug fix and touch-ups 2024-03-07 09:29:09 +00:00
release-notes-5965.md chore: release notes for 5965 with wallet tool improvements 2024-04-12 12:31:48 +07:00
release-notes-5978.md merge bitcoin#22618: Small follow-ups to 21528 2024-04-12 16:55:05 +00:00
release-notes-6017.md chore: add release notes for sethdseed RPC 2024-05-10 14:28:16 +07:00
release-notes-6050.md Merge bitcoin/bitcoin#26628: RPC: Reject RPC requests with same named parameter specified multiple times 2024-06-10 11:26:11 -05:00
release-notes-6078.md rpc: don't use GetUTXOCoin in CDeterministicMN::ToJson() 2024-06-26 11:25:05 +00:00
release-notes-14582.md Merge #19743: -maxapsfee follow-up 2024-03-18 16:01:39 +07:00
release-notes-16528.md Merge #18787: wallet: descriptor wallet release notes and cleanups 2024-03-07 01:23:18 +07:00
release-notes-18202.md Merge #18202: refactor: consolidate sendmany and sendtoaddress code 2024-05-29 13:57:02 +07:00
release-notes-19200.md Merge #19200: rpc: remove deprecated getaddressinfo fields 2024-03-16 02:39:42 +07:00
release-notes-19202.md Merge #19202: log: remove deprecated db log category 2024-05-27 21:55:48 +07:00
release-notes-19405.md Merge #19405: rpc, cli: add network in/out connections to getnetworkinfo and -getinfo 2024-03-16 02:39:45 +07:00
release-notes-19464.md Merge #19464: net: remove -banscore configuration option 2024-03-22 11:08:10 -05:00
release-notes-19469.md Merge #19469: rpc: deprecate banscore field in getpeerinfo 2024-03-22 11:08:10 -05:00
release-notes-19473.md Merge #19473: net: Add -networkactive option 2024-03-06 02:00:39 +07:00
release-notes-19501.md Merge #20043: doc: Add 19501 release notes 2024-05-29 14:03:56 +07:00
release-notes-19725.md Merge #19725: [RPC] Add connection type to getpeerinfo, improve logs 2024-05-29 14:03:55 +07:00
release-notes-19776.md merge bitcoin#19776: expose high bandwidth mode state via getpeerinfo 2024-06-10 17:31:23 +00:00
release-notes-20282.md Merge #20282: wallet: change upgradewallet return type to be an object 2024-03-07 02:06:28 +07:00
release-notes-20286.md merge bitcoin#20286: deprecate addresses and reqSigs from rpc outputs 2024-06-27 19:27:37 +00:00
release-notes-21049.md Merge #21049: Add release notes for listdescriptors RPC 2024-03-09 03:00:29 +07:00
release-notes-21056.md Merge bitcoin/bitcoin#21056: rpc: Add a -rpcwaittimeout parameter to limit time spent waiting 2024-03-22 10:29:15 -05:00
release-notes-21359.md merge bitcoin#21359: include_unsafe option for fundrawtransaction 2024-06-27 19:27:37 +00:00
release-notes-21595.md Merge #21595: cli: create -addrinfo 2024-04-16 09:20:32 -05:00
release-notes-21602.md Merge #21602: rpc: add additional ban time fields to listbanned 2024-04-11 02:26:04 +07:00
release-notes-21832.md merge bitcoin#21832: Implement human readable -getinfo 2024-05-26 22:26:56 +00:00
release-notes-22544.md merge bitcoin#22544: drop torv2; torv3 becomes onion per GetNetworkName() 2024-05-26 22:26:57 +00:00
release-notes-22834.md merge bitcoin#22834: respect -onlynet= when making outbound connections 2024-05-29 18:07:45 +00:00
release-notes-25355.md merge bitcoin#25355: add support for transient addresses for outbound connections 2024-05-29 11:48:37 -05:00
release-notes.md docs: add v20.1.1 release notes 2024-04-03 13:12:29 -05:00
release-process.md docs: update release process for generating seeds: new PR as a reference 2024-03-03 23:34:35 -06:00
REST-interface.md merge bitcoin#20286: deprecate addresses and reqSigs from rpc outputs 2024-06-27 19:27:37 +00:00
shared-libraries.md
tor.md Merge #6031: backport: merge bitcoin#23077, #22834, #24165, #24555, #24663, #24205, #24687, #25173, #24991, partial bitcoin#24468 (cjdns support) 2024-06-10 11:11:11 -05:00
translation_process.md Merge #21695: Remove no longer used contrib/bitcoin-qt.pro from the repo 2024-04-16 09:20:31 -05:00
translation_strings_policy.md
zmq.md Merge #16404: qa: Test ZMQ notification after chain reorg 2024-03-18 16:01:40 +07: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.