bitcoin/doc
fanquake 67eae69f3f
Merge bitcoin/bitcoin#23060: release: increase minimum compiler and lib(std)c++ requirements
182de7ba10 ci: update minimum compiler requirements for std::filesystem (fanquake)
04f5bafb7b doc: update minimum compiler requirements for std::filesystem (fanquake)

Pull request description:

  This increases the minimum required compiler versions to Clang 7 and GCC 8.1. This has been split out of #20744 (migration to `std::filesystem`), as it's also a requirement for some other changes, such as #20452 or #20457 which want to make use of `std::from_chars`. As well as #20435, which is also `std::filesystem` related. Given that the `std::filesystem` changes are moving ahead, splitting out this change to let other PRs take advantage of the new requirements seems worthwhile.

  Clang 7 has been available in Debian since [Stretch (oldoldstable)](https://packages.debian.org/stretch/clang-7) and in Ubuntu since [Bionic (18.04)](https://packages.ubuntu.com/bionic-updates/clang-7). GCC 8 has been available in Debian since [Buster (oldstable)](https://packages.debian.org/buster/gcc) and in Ubuntu since [Bionic (18.04)](https://packages.ubuntu.com/bionic/gcc-8). CentOS 8 also packages GCC 8.

  The CI changes here give us one build with GCC 8, and another using Clang 7 on top of libc++.

  Note that the minimum required libc++ in dependencies.md is unchanged as, at least for `<filesystem>`, and the `*_chars` use cases, libc++ 7 [should be sufficient](https://en.cppreference.com/w/cpp/compiler_support/17).

  I've tested that building `<filesystem>` code using Clang 7 & libc++ works. i.e `clang++-7 -std=c++17 fs.cpp -stdlib=libc++ -lc++fs`. Also that building `<filesystem>` code with Clang 7 and libstdc++ 8 works. i.e `clang++-7 -std=c++17  fs.cpp -lstdc++fs`.

ACKs for top commit:
  MarcoFalke:
    review ACK 182de7ba10

Tree-SHA512: 5bc151c4be58005711eed6bd8a091f3417f75a0218c11c08cffff9d749edadd965726bb7856a8e693e96e69ed0596989cda1aac4b29fb6d30705b1687a5b3363
2021-09-28 14:03:14 +08:00
..
man scripted-diff: Fix typo in stub manual pages 2021-01-12 16:46:55 +01:00
release-notes doc: Add historical release notes for 22.0 2021-09-14 13:20:48 +02: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: update doc/benchmarking.md 2021-06-24 11:15:29 +02:00
bips.md doc: Update bips.md for 0.21.1 2021-05-12 10:06:37 +02:00
bitcoin-conf.md doc: added info to bitcoin.conf doc 2021-07-06 09:32:37 -04:00
bitcoin_logo_doxygen.png Lossless image optimization 2013-12-02 10:10:22 +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 script, doc: guix touchups 2021-07-23 21:23:37 +05:30
build-osx.md doc: note that brew installed qt is not supported 2021-05-17 21:36:08 -04:00
build-unix.md remove --enable-glibc-back-compat from CI and docs 2021-09-10 11:18:58 +08:00
build-windows.md doc: remove WSL install instructions and point to upstream 2021-09-17 11:24:55 +08:00
dependencies.md doc: update minimum compiler requirements for std::filesystem 2021-09-22 17:53:14 +08:00
descriptors.md doc: mention bech32m/BIP350 in doc/descriptors.md 2021-08-30 13:45:22 -04:00
developer-notes.md Enable TLS in links in documentation 2021-09-16 22:00:20 +00:00
dnsseed-policy.md Correct spelling mistakes in doc folder 2015-10-18 06:25:43 +10:00
Doxyfile.in Generate doxygen documentation for test sources 2021-05-19 22:08:18 -07:00
external-signer.md Move external signer out of wallet module 2021-04-08 17:56:00 +02:00
files.md Ignore banlist.dat 2021-07-30 11:21:51 +02:00
fuzzing.md test: Update test README and lint script 2021-09-02 10:26:35 +02:00
guix.md docs: Point to contrib/guix/README.md in doc/guix.md 2021-01-08 11:40:01 -05:00
i2p.md Improve doc/i2p.md regarding I2P router options/versions 2021-08-19 15:41:46 +02: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
managing-wallets.md Document about wallet backup and restoration 2021-08-17 09:40:47 -03:00
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 doc: fix/improve analyzepsbt in doc/psbt.md 2019-05-19 17:31:37 +02:00
README.md release: remove gitian 2021-08-31 09:37:23 +08: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
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-12677.md doc/release-notes: Add new listunspent fields 2021-09-16 20:34:49 +00:00
release-notes-23065.md Add release note for lockunspent change 2021-09-25 23:50:06 +12:00
release-notes.md Merge bitcoin/bitcoin#23061: Fix (inverse) meaning of -persistmempool 2021-09-27 10:12:14 +02:00
release-process.md doc: Update snap release process for new versioning scheme 2021-09-14 12:50:31 +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 Merge bitcoin/bitcoin#22420: doc: Specifiy how to set the value of TORGROUP 2021-09-16 20:17:01 +02:00
tracing.md Remove GetAddrName 2021-08-26 10:44:26 +02:00
translation_process.md doc: Remove unnecessary steps from translations update process 2021-07-03 21:31:29 +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: Add IPv6 address to zmq example 2021-06-20 16:56:08 +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.