bitcoin/doc
Samuel Dobson 31c0006a6c
Merge #17264: rpc: set default bip32derivs to true for psbt methods
5bad7921d0 [test] PSBT RPC: check that bip32_derivs are present by default (Sjors Provoost)
29a21c9061 [rpc] set default bip32derivs to true for psbt methods (Sjors Provoost)

Pull request description:

  In https://github.com/bitcoin/bitcoin/pull/13557#pullrequestreview-135905054 I recommended not including bip32 deriviation by default in PSBTs:

  > _Bit of a privacy issue_: let's say person A and B are about to spend from a multisig address, sending everything to person A. Person A gives their address to person B, their wallet wallet creates a PSBT, but doesn't sign it. Wallet A then calls `walletprocesspsbt` which signs it and _spontaneously adds the master_fingerprint and bip32 path_. Same issue with `walletcreatefundedpsbt`.
  >
  > Adding `bip32_derivs` should probably be opt-in.

  In practice I find this default quite annoying because I forget it and end up with a confused hardware wallet.

  More importantly, in the multisig example I provided, it's actually essential for the other side to know the derivation details (in addition to an xpub). This allows them to check that change is going to an address you can still co-sign for (because the spending policy is unchanged except for an index).

ACKs for top commit:
  instagibbs:
    utACK 5bad7921d0
  jonatack:
    ACK 5bad7921d0 code review, built, ran tests, inspected/messed around with/pprinted values from the new tests. Thanks for adding the tests.
  meshcollider:
    utACK 5bad7921d0

Tree-SHA512: 22ad71dda96856060a96758c4ae7aafa22d5e9efba30e0c8287c711e7579849bd72593cbc0f41a2e9e8821315d78bda04e848dbb006283b841b2795e2faebcfd
2020-02-25 23:50:39 +13:00
..
man doc: remove OpenSSL from build instructions and licensing info 2019-11-18 08:56:48 -05:00
release-notes doc: Add historical release notes for 0.19.0.1 2019-11-24 11:15:03 +01:00
.gitignore Ignore Doxyfile generated from Doxyfile.in template. 2017-04-07 16:28:12 +02:00
assets-attribution.md [doc] Merge doc/assets-attribution.md into contrib/debian/copyright 2015-09-18 18:14:42 +02:00
benchmarking.md [doc] fix Makefile target in benchmarking.md 2019-10-08 22:14:04 +02:00
bips.md doc: Update doc/bips.md with recent changes in master 2019-11-05 10:20:16 -05:00
bitcoin_logo_doxygen.png Lossless image optimization 2013-12-02 10:10:22 +01:00
bitcoin-conf.md doc: add default bitcoin.conf locations 2019-08-19 19:34:57 +02:00
build-freebsd.md doc: remove OpenSSL from build instructions and licensing info 2019-11-18 08:56:48 -05:00
build-netbsd.md doc: update NetBSD build instructions for 8.0 2018-12-13 12:05:45 +08:00
build-openbsd.md Merge #14515: doc: Update OpenBSD build guide for 6.4 2018-11-05 13:26:37 +01:00
build-osx.md Merge #18070: doc: add note about brew doctor 2020-02-20 20:56:41 +08:00
build-unix.md doc: Remove ssl as a required dependency from build-unix 2019-11-19 15:03:44 +01:00
build-windows.md doc: compiling with Visual Studio is now supported on Windows 2019-11-01 15:25:52 -04:00
dependencies.md doc: Update dependencies.md 2019-12-29 13:07:50 +02:00
descriptors.md Output a descriptor in createmultisig and addmultisigaddress 2020-01-30 23:55:36 -05:00
developer-notes.md rpc: update validateaddress RPCExamples to bech32 2020-02-13 12:57:37 +01:00
dnsseed-policy.md Correct spelling mistakes in doc folder 2015-10-18 06:25:43 +10:00
Doxyfile.in test: Add crc32c exception to various linters and generation scripts 2020-01-28 17:01:48 +01:00
files.md doc: Add missing indexes/blockfilter/basic/ to doc/files.md 2019-10-11 08:31:18 -04:00
fuzzing.md doc: Improve fuzzing docs for macOS users 2020-01-29 00:46:21 +01:00
gitian-building.md doc: move gitian building to external repo 2017-09-25 15:45:38 +02:00
init.md doc: Fix whitespace errs in .md files, bitcoin.conf, Info.plist.in, and find_bdb48.m4 2019-09-17 03:21:22 -04:00
JSON-RPC-interface.md doc: Clarify RPC versioning 2019-04-15 11:20:16 -04:00
productivity.md docs: Add productivity notes for "dummy rebases" 2019-05-15 14:12:45 -04:00
psbt.md doc: fix/improve analyzepsbt in doc/psbt.md 2019-05-19 17:31:37 +02:00
rapidcheck.md doc: initial RapidCheck property-based testing documentation 2019-08-19 09:18:16 +02:00
README_doxygen.md doc: Improve doxygen readme navigation section 2019-09-23 19:22:06 -04:00
README_windows.txt doc: Remove version numbers from READMEs 2017-04-05 09:40:48 +02:00
README.md doc: Change doxygen URL to doxygen.bitcoincore.org 2019-11-25 19:20:49 +01:00
reduce-memory.md use preferred shebang approach for documentation 2019-12-17 12:18:13 -05:00
reduce-traffic.md doc: Mention blocksonly in reduce-traffic.md, unhide option 2019-05-13 10:44:46 -04:00
release-notes-15437.md [docs] Add release notes for removal of REJECT reasons 2019-10-10 13:31:57 -04:00
release-notes-15954.md remove old bootstrap relevant code 2019-11-05 16:47:26 +01:00
release-notes-17056.md Add release note 2019-10-08 13:56:56 -04:00
release-notes-17264.md [rpc] set default bip32derivs to true for psbt methods 2019-10-26 12:03:38 +02:00
release-notes-17410.md doc: Add relase note for db→walletdb rename 2019-11-08 23:05:47 +01:00
release-notes-17437.md rpc: Expose block height of wallet transactions 2019-11-11 22:32:44 +00:00
release-notes-17578.md doc: update release notes with getaddressinfo label deprecation 2020-01-11 13:35:10 +01:00
release-notes.md util: Disallow network-qualified command line options 2019-12-19 16:27:15 -05:00
release-process.md doc: remove PPA note from release-process.md 2020-02-12 09:42:28 +08:00
REST-interface.md doc: Remove explicit network name references 2019-11-01 12:06:35 +01:00
shared-libraries.md doc: correct bitcoinconsensus_version in shared-libraries 2019-04-07 21:42:32 +08:00
tor.md Elaborate on the need to re-login on Debian-based systems to use tor following usermod 2019-09-12 08:27:03 -05:00
translation_process.md build: Factor out qt translations from build system 2019-09-29 14:24:54 +02:00
translation_strings_policy.md A few textual improvements 2019-02-08 09:47:50 +01:00
zmq.md doc: Add note regarding ZMQ block notification 2019-08-19 01:05:58 +01:00

Bitcoin Core

Setup

Bitcoin Core is the original Bitcoin client and it builds the backbone of the network. It downloads and, by default, stores the entire history of Bitcoin transactions, which requires a few hundred gigabytes of disk space. Depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to a day or more.

To download Bitcoin Core, visit bitcoincore.org.

Running

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

Unix

Unpack the files into a directory and run:

  • bin/bitcoin-qt (GUI) or
  • bin/bitcoind (headless)

Windows

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

macOS

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

Need Help?

Building

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

Development

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

Resources

Miscellaneous

License

Distributed under the MIT software license.