bitcoin/doc
Wladimir J. van der Laan 9855422e65
Merge #17428: p2p: Try to preserve outbound block-relay-only connections during restart
a490d074b3 doc: Add anchors.dat to files.md (Hennadii Stepanov)
0a85e5a7bc p2p: Try to connect to anchors once (Hennadii Stepanov)
5543c7ab28 p2p: Fix off-by-one error in fetching address loop (Hennadii Stepanov)
4170b46544 p2p: Integrate DumpAnchors() and ReadAnchors() into CConnman (Hennadii Stepanov)
bad16aff49 p2p: Add CConnman::GetCurrentBlockRelayOnlyConns() (Hennadii Stepanov)
c29272a157 p2p: Add ReadAnchors() (Hennadii Stepanov)
567008d2a0 p2p: Add DumpAnchors() (Hennadii Stepanov)

Pull request description:

  This is an implementation of #17326:
  - all (currently 2) outbound block-relay-only connections (#15759) are dumped to `anchors.dat` file
  - on restart a node tries to connect to the addresses from `anchors.dat`

  This PR prevents a type of eclipse attack when an attacker exploits a victim node restart to force it to connect to new, probably adversarial, peers.

ACKs for top commit:
  jnewbery:
    code review ACK a490d074b3
  laanwj:
    Code review ACK a490d074b3

Tree-SHA512: 0f5098a3882f2814be1aa21de308cd09e6654f4e7054b79f3cfeaf26bc02b814ca271497ed00018d199ee596a8cb9b126acee8b666a29e225b08eb2a49b02ddd
2020-10-15 20:19:55 +02: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.20.1 2020-08-01 14:17: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 Mention BIP155 in doc/bips.md 2020-10-11 11:29:07 -07:00
bitcoin_logo_doxygen.png
bitcoin-conf.md
build-freebsd.md doc: mention MAKE=gmake workaround when building on a BSD 2020-03-18 07:55:07 +08:00
build-netbsd.md doc: mention MAKE=gmake workaround when building on a BSD 2020-03-18 07:55:07 +08:00
build-openbsd.md Add OpenBSD instructions for building the Qt GUI 2020-09-10 16:02:10 +02:00
build-osx.md Include sqlite3 in documentation 2020-10-14 11:28:18 -04:00
build-unix.md Include sqlite3 in documentation 2020-10-14 11:28:18 -04:00
build-windows.md Add Windows WSL build recommendation to temporarily disable Win32 PE support. 2020-06-29 13:25:59 +01:00
dependencies.md Include sqlite3 in documentation 2020-10-14 11:28:18 -04:00
descriptors.md Output a descriptor in createmultisig and addmultisigaddress 2020-01-30 23:55:36 -05:00
developer-notes.md Remove unused LockAssertion struct 2020-09-19 18:02:42 +03:00
dnsseed-policy.md
Doxyfile.in [doc] include Doxygen comments for HAVE_BOOST_PROCESS 2020-07-31 13:38:10 +02:00
files.md Merge #17428: p2p: Try to preserve outbound block-relay-only connections during restart 2020-10-15 20:19:55 +02:00
fuzzing.md doc: afl fuzzing comment about afl-gcc and afl-g++ 2020-07-05 20:55:11 -04:00
gitian-building.md
init.md fixing documentation to not require rpcpassword 2020-03-21 19:51:31 +05:30
JSON-RPC-interface.md Replace hidden service with onion service 2020-08-07 14:55:02 +02:00
multiprocess.md build: multiprocess autotools changes 2020-05-12 09:47:06 -04:00
productivity.md doc: Drop protobuf stuff 2020-05-23 10:14:18 +03:00
psbt.md
README_doxygen.md
README_windows.txt
README.md doc: Update webchat URLs in README.md 2020-04-02 13:09:55 +00:00
reduce-memory.md doc: block-relay-only is not blocksonly 2020-03-30 09:09:12 -04:00
reduce-traffic.md doc: Use precise permission flags where possible 2020-07-10 15:37:42 +02:00
release-notes-19988.md Reduce MAX_PEER_TX_ANNOUNCEMENTS for non-PF_RELAY peers 2020-10-12 12:14:53 -07:00
release-notes.md Merge #20109: Release notes and followups from 19339 2020-10-14 12:19:42 +08:00
release-process.md [doc] fix git add argument 2020-04-03 12:52:36 +02:00
REST-interface.md Merge #19390: doc/REST-interface: Remove stale info 2020-06-29 13:32:01 +08:00
shared-libraries.md
tor.md doc: Update onion service target port numbers in tor.md 2020-10-01 19:19:43 +03:00
translation_process.md
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.