bitcoin/doc
W. J. van der Laan 6556da77d7
Merge bitcoin/bitcoin#21056: rpc: Add a -rpcwaittimeout parameter to limit time spent waiting
b9e76f1bf0 rpc: Add test for -rpcwaittimeout (Christian Decker)
f76cb10d7d rpc: Prefix rpcwaittimeout error with details on its nature (Christian Decker)
c490e17ef6 doc: Add release notes for the `-rpcwaittimeout` cli parameter (Christian Decker)
a7fcc8eb59 rpc: Add a `-rpcwaittimeout` parameter to limit time spent waiting (Christian Decker)

Pull request description:

  Adds a new numeric `-rpcwaittimeout` that can be used to limit the
  time we spend waiting on the RPC server to appear. This is used by
  downstream projects to provide a bit of slack when `bitcoind`s RPC
  interface is not available right away.

  This makes the `-rpcwait` argument more useful, since we can now limit
  how long we'll ultimately wait, before potentially giving up and reporting
  an error to the caller. It was discussed in the context of the BTCPayServer
  wanting to have c-lightning wait for the RPC interface to become available
  but still have the option of giving up eventually ([4355]).

  I checked with laanwj whether this is already possible ([comment]), and
  whether this would be a welcome change. Initially I intended to repurpose
  the (optional) argument to `-rpcwait`, however I decided against it since it
  would potentially break existing configurations, using things like `rpcwait=1`,
  or `rpcwait=true` (the former would have an unintended short timeout, when
  old behavior was to wait indefinitely).

  ~Due to its simplicity I didn't implement a test for it yet, but if that's desired I
  can provide one.~ Test was added during reviews.

  [4355]: https://github.com/ElementsProject/lightning/issues/4355
  [comment]: https://github.com/ElementsProject/lightning/issues/4355#issuecomment-768288261

ACKs for top commit:
  laanwj:
    Code review ACK b9e76f1bf0
  promag:
    ACK b9e76f1bf0.

Tree-SHA512: 3cd6728038ec7ca7c35c2e7ccb213bfbe963f99a49bb48bbc1e511c4dd23d9957c04f9af1f8ec57120e47b26eaf580b46817b099d5fc5083c98da7aa92db8638
2021-06-21 15:54:56 +02:00
..
man scripted-diff: Fix typo in stub manual pages 2021-01-12 16:46:55 +01:00
release-notes doc: Add doc/release-notes/release-notes-0.21.1.md 2021-05-02 09:59:14 +02:00
.gitignore
assets-attribution.md
benchmarking.md Replace current benchmarking framework with nanobench 2020-06-13 12:24:18 +02:00
bips.md doc: Update bips.md for 0.21.1 2021-05-12 10:06:37 +02:00
bitcoin_logo_doxygen.png
bitcoin-conf.md doc: add signet to doc/bitcoin-conf.md 2021-03-08 00:44:54 +01:00
build-android.md Qt: add Android packaging support 2021-03-21 22:33:27 +01:00
build-freebsd.md docs: improve make with parallel jobs description. 2021-05-14 08:45:27 +08:00
build-netbsd.md docs: improve make with parallel jobs description. 2021-05-14 08:45:27 +08:00
build-openbsd.md docs: improve make with parallel jobs description. 2021-05-14 08:45:27 +08:00
build-osx.md doc: note that brew installed qt is not supported 2021-05-17 21:36:08 -04:00
build-unix.md docs: improve make with parallel jobs description. 2021-05-14 08:45:27 +08:00
build-windows.md doc: improve note on choosing posix mingw32 2021-05-27 19:00:34 -04:00
dependencies.md depends: Bump Qt version to 5.12.11 2021-05-27 14:53:18 +03:00
descriptors.md Add tr() descriptor (derivation only, no signing) 2021-05-24 12:14:16 -07:00
developer-notes.md doc: remove obsolete okSafeMode RPC guideline from developer notes 2021-06-10 02:02:29 +02:00
dnsseed-policy.md
Doxyfile.in configure: add --enable-external-signer 2021-02-21 16:27:10 +01:00
external-signer.md Move external signer out of wallet module 2021-04-08 17:56:00 +02:00
files.md doc: Remove mention of priority estimation 2021-05-11 11:52:32 +02:00
fuzzing.md doc: describe in fuzzing.md how to reproduce a CI crash 2021-05-25 15:18:50 +02:00
gitian-building.md
guix.md docs: Point to contrib/guix/README.md in doc/guix.md 2021-01-08 11:40:01 -05:00
init.md doc: Replace tabs for spaces 2021-02-04 12:06:13 +00:00
JSON-RPC-interface.md Update 'Secure string handling' 2020-12-29 01:49:30 +05:30
multiprocess.md multiprocess: Add comments and documentation 2021-04-23 03:02:50 -05:00
productivity.md doc: Add libnatpmp stuff 2021-01-07 18:07:10 +02:00
psbt.md
README_doxygen.md
README_windows.txt
README.md doc: Fix external links (IRC, ...) 2021-05-31 17:27:57 +02:00
reduce-memory.md doc: update reduce-memory.md peer connections info 2021-04-17 20:17:59 +02:00
reduce-traffic.md doc: Use precise permission flags where possible 2020-07-10 15:37:42 +02:00
release-notes-20833.md [doc] add release note for package testmempoolaccept 2021-05-24 15:48:32 +01:00
release-notes-20867.md doc: add release notes for 20867 2021-04-28 10:00:31 +02:00
release-notes-21056.md doc: Add release notes for the -rpcwaittimeout cli parameter 2021-06-03 11:23:22 +02:00
release-notes.md doc: update release notes with removal of tor v2 support 2021-06-12 12:09:25 +02:00
release-process.md doc: Fix external links (IRC, ...) 2021-05-31 17:27:57 +02:00
REST-interface.md rpc: deprecate addresses and reqSigs from rpc outputs 2021-03-23 10:51:43 -04:00
shared-libraries.md doc: libbitcoinconsensus: add missing error code description, fix NBitcoin link 2020-12-05 13:37:00 +01:00
tor.md doc: update tor.md with removal of tor v2 support 2021-06-06 19:05:01 +02:00
translation_process.md doc: Fix external links (IRC, ...) 2021-05-31 17:27:57 +02:00
translation_strings_policy.md doc: Do not translate technical or extremely rare errors 2020-05-05 04:46:08 +03:00
zmq.md doc: Adjust ZMQ usage to support multiple interfaces 2020-09-23 23:14:28 +02: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.