dash/doc
Wladimir J. van der Laan 401b55e5c4 Merge #18466: rpc: fix invalid parameter error codes for {sign,verify}message RPCs
a5cfb40e27bd281354bd0d14d91f83efb6bfce9f doc: release note for changed {sign,verify}message error codes (Sebastian Falbesoner)
9e399b9b2d386b28c0c0ff59fc75d31dbec31d9c test: check parameter validity in rpc_signmessage.py (Sebastian Falbesoner)
e62f0c71f10def124b1c1219d790cef246a32c3e rpc: fix {sign,message}verify RPC errors for invalid address/signature (Sebastian Falbesoner)

Pull request description:

  RPCs that accept address parameters usually return the intended error code `RPC_INVALID_ADDRESS_OR_KEY` (-5) if a passed address is invalid. The two exceptions to the rule are `signmessage` and `verifymessage`, which return `RPC_TYPE_ERROR` (-3) in this case instead. Oddly enough `verifymessage` returns `RPC_INVALID_ADDRESS_OR_KEY` when the _signature_ was malformed, where `RPC_TYPE_ERROR` would be more approriate.

  This PR fixes these inaccuracies and as well adds tests to `rpc_signmessage.py` that check the parameter validity and error codes for the related RPCs `signmessagewithprivkey`, `signmessage` and `verifymessage`.

  master branch:
  ```
  $ ./bitcoin-cli signmessage invalid_addr message
  error code: -3
  error message:
  Invalid address
  $ ./bitcoin-cli verifymessage invalid_addr dummy_sig message
  error code: -3
  error message:
  Invalid address
  $ ./bitcoin-cli verifymessage 12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX invalid_sig message
  error code: -5
  error message:
  Malformed base64 encoding
  ```
  PR branch:
  ```
  $ ./bitcoin-cli signmessage invalid_addr message
  error code: -5
  error message:
  Invalid address
  $ ./bitcoin-cli verifymessage invalid_addr dummy_sig message
  error code: -5
  error message:
  Invalid address
  $ ./bitcoin-cli verifymessage 12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX invalid_sig message
  error code: -3
  error message:
  Malformed base64 encoding
  ```

ACKs for top commit:
  laanwj:
    Code review ACK a5cfb40e27bd281354bd0d14d91f83efb6bfce9f
  meshcollider:
    utACK a5cfb40e27bd281354bd0d14d91f83efb6bfce9f

Tree-SHA512: bae0c4595a2603cea66090f6033785601837b45fd853052312b3a39d8520566c581994b68f693dd247c22586c638c3b7689c849085cce548cc36b9bf0e119d2d
2023-04-09 00:06:56 -05:00
..
gitian-building
man chore: run gen-manpages.sh for 19.0.0 (#5305) 2023-04-09 00:05:39 -05:00
release-notes Merge branch 'master' into merge_master_18.2.2 2023-04-03 22:05:47 +03:00
.gitignore
assets-attribution.md
benchmarking.md Merge #17081: doc: fix Makefile target in benchmarking.md 2022-05-17 01:20:21 -04:00
bips.md merge bitcoin#15437: Remove BIP61 reject messages 2022-12-02 15:43:01 +05:30
bitcoin_logo_doxygen.png
build-cross.md docs: replace remaining OSX references with macOS 2023-01-01 20:42:09 -06:00
build-generic.md merge bitcoin#10779: Create dependencies.md 2023-01-01 20:42:09 -06:00
build-netbsd.md continued 2021-06-26 11:54:34 -05:00
build-osx.md partial bitcoin#19077: Add sqlite as an alternative wallet database and use it for new descriptor wallets 2023-02-07 10:53:33 -06:00
build-unix.md Merge #16643: doc: Add ZMQ dependencies to the Fedora build instructions 2023-04-04 12:45:27 -05:00
build-windows.md
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 #16352: build: prune dbus from depends 2023-03-29 21:01:56 +03: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#21404: Remove MakeUnique<T>() 2022-10-20 16:08:45 -05:00
dnsseed-policy.md
Doxyfile.in Merge bitcoin/bitcoin#22001: doc: Generate doxygen documentation for test sources 2022-03-13 14:52:10 -05:00
files.md Merge #20152: doc: Update wallet files in files.md 2023-04-09 00:06:56 -05:00
fuzzing.md Merge #19452: doc: afl fuzzing comment about afl-gcc and afl-g++ 2023-01-23 11:21:05 -06:00
gitian-building.md Merge #13366: Docs: Rename “OS X” to the newer “macOS” convention 2021-06-28 02:31:48 +03:00
guix.md Merge #20619: guix: Quality of life improvements 2023-03-26 16:50:26 -05:00
init.md Merge #16556: Fix systemd service file configuration directory setup 2023-04-06 20:14:58 +03:00
instantsend.md
JSON-RPC-interface.md Merge #20741: doc: Update 'Secure string handling' 2021-09-18 21:41:46 -04:00
masternode-budget.md
productivity.md Merge #18382: doc: note the costs of fetching all pull requests 2022-04-07 07:22:27 +05:30
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
README.md Merge #15693: travis: Switch to ubuntu keyserver to avoid timeouts 2023-04-06 20:14:58 +03: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 #19474: doc: Use precise permission flags where possible 2023-01-19 23:37:39 -06:00
release-notes-4892.md merge bitcoin#15437: Remove BIP61 reject messages 2022-12-02 15:43:01 +05:30
release-notes-5021.md docs: Release notes for BLS upgrade (#5137) 2023-02-06 09:02:53 -06:00
release-notes-5039.md feat!: 4k collateral high performance masternode implementation (#5039) 2023-02-14 12:48:33 -06:00
release-notes-5112.md merge bitcoin#20461: Validate -rpcauth arguments 2023-01-19 03:49:03 +00:00
release-notes-5125.md feat(rpc): Hide old banned mns by default (#5125) 2023-01-01 19:04:35 -06:00
release-notes-5158.md feat(rpc): Added previousConsecutiveDKGFailures for rotation in quorum rpc (#5158) 2023-01-17 09:51:06 -06:00
release-notes-5164.md feat(rpc): added scheme in bls generate rpc + aligned changes for bls fromsecret rpc (#5164) 2023-01-19 23:30:17 -06:00
release-notes-5206.md feat(rpc): masternode status and count RPCs adjusted for HPMNs (#5206) 2023-02-17 12:29:46 -06:00
release-notes-5225.md chore: add 18.2.2 release notes 2023-03-14 23:50:32 +03:00
release-notes-5273.md feat(rpc): Added RPC cleardiscouraged (#5273) 2023-03-29 11:23:45 -05:00
release-notes-15427.md Merge #16326: [RPC] add new utxoupdatepsbt arguments to the CRPCCommand and CPRCCvertParam tables 2023-02-04 10:02:37 -06:00
release-notes-15454.md revert: revert bitcoin#15454 (Remove the automatic creation and loading of the default wallet) 2022-12-04 18:02:40 -06:00
release-notes-16185.md Merge #16873: rpc: fix regression in gettransaction 2023-04-06 20:14:58 +03:00
release-notes-17056.md Merge #17056: descriptors: Introduce sortedmulti descriptor 2023-04-06 20:15:47 +03:00
release-notes-18466.md Merge #18466: rpc: fix invalid parameter error codes for {sign,verify}message RPCs 2023-04-09 00:06:56 -05:00
release-notes-18733.md Merge #18733: doc: Add wallet release notes for 0.21.0 2023-03-03 23:07:16 +05:30
release-notes-18807.md Merge #18807: [doc / test / mempool] unbroadcast follow-ups 2023-02-27 23:12:41 -06:00
release-notes.md chore: add 18.2.2 release notes 2023-03-14 23:50:32 +03:00
release-process.md Merge pull request #4607 from humbleDasher/dec042021 2021-12-17 11:04:02 -06:00
REST-interface.md Merge #17285: doc: Bip70 removal follow-up 2022-04-27 21:08:36 +03:00
shared-libraries.md revert dash#1432: Rename consensus source library and API 2022-08-09 14:16:28 +05:30
tor.md merge bitcoin#18077: Add NAT-PMP port forwarding support 2022-02-26 17:49:13 +05:30
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 Revert "Merge #16404: qa: Test ZMQ notification after chain reorg" (#4646) 2022-01-03 15:30:11 +03: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.