bitcoin/doc
Wladimir J. van der Laan df2129a234
Merge #19991: net: Use alternative port for incoming Tor connections
96571b3d4c doc: Update onion service target port numbers in tor.md (Hennadii Stepanov)
bb145c9050 net: Extend -bind config option with optional network type (Hennadii Stepanov)
92bd3c1da4 net, refactor: Move AddLocal call one level up (Hennadii Stepanov)
57f17e57c8 net: Pass onion service target to Tor controller (Hennadii Stepanov)
e3f07851f0 refactor: Rename TorController::target to m_tor_control_center (Hennadii Stepanov)
fdd3ae4d26 net, refactor: Refactor CBaseChainParams::RPCPort function (Hennadii Stepanov)
a5266d4546 net: Add alternative port for onion service (Hennadii Stepanov)
b3273cf403 net: Use network byte order for in_addr.s_addr (Hennadii Stepanov)

Pull request description:

  This PR adds ability to label incoming Tor connections as different from normal localhost connections.

  Closes #8973.
  Closes #16693.

  Default onion service target ports are:
  - 8334 on mainnnet
  - 18334 on testnet
  - 38334 on signet
  - 18445 on regtest

  To set the onion service target socket manually the extended `-bind` config option could be used:

  ```
  $ src/bitcoind -help | grep -A 6 -e '-bind'
    -bind=<addr>[:<port>][=onion]
         Bind to given address and always listen on it (default: 0.0.0.0). Use
         [host]:port notation for IPv6. Append =onion to tag any incoming
         connections to that address and port as incoming Tor connections
         (default: 127.0.0.1:8334=onion, testnet: 127.0.0.1:18334=onion,
         signet: 127.0.0.1:38334=onion, regtest: 127.0.0.1:18445=onion)

  ```

  Since [pr19991.02 update](https://github.com/bitcoin/bitcoin/pull/19991#issuecomment-698882284) this PR is an alternative to #19043.

ACKs for top commit:
  Sjors:
    re-utACK 96571b3d4c
  vasild:
    ACK 96571b3d4
  laanwj:
    Re-ACK 96571b3d4c

Tree-SHA512: cb0eade80f4b3395f405f775e1b89c086a1f09d5a4464df6cb4faf808d9c2245474e1720b2b538f203f6c1996507f69b09f5a6e35ea42633c10e22bd733d4438
2020-10-02 13:37:23 +02:00
..
man
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 doc: Document signet BIP 2020-09-22 22:33:09 +02:00
bitcoin_logo_doxygen.png
bitcoin-conf.md
build-freebsd.md
build-netbsd.md
build-openbsd.md Add OpenBSD instructions for building the Qt GUI 2020-09-10 16:02:10 +02:00
build-osx.md
build-unix.md
build-windows.md Add Windows WSL build recommendation to temporarily disable Win32 PE support. 2020-06-29 13:25:59 +01:00
dependencies.md build: set minimum required Boost to 1.58 2020-08-05 17:13:45 +08:00
descriptors.md
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 Replace hidden service with onion service 2020-08-07 14:55:02 +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
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
reduce-memory.md
reduce-traffic.md doc: Use precise permission flags where possible 2020-07-10 15:37:42 +02:00
release-notes-14582.md doc: release notes for -maxapsfee 2020-08-18 15:30:36 +09:00
release-notes-15367.md feature: Added ability for users to add a startup command 2020-09-28 10:38:36 -05:00
release-notes-15454.md Do not create default wallet 2020-09-08 21:02:53 -04:00
release-notes-15937.md wallet: Reload previously loaded wallets on GUI startup 2020-09-01 12:13:50 -04:00
release-notes-16378.md Mark send RPC experimental 2020-09-17 15:29:52 +02:00
release-notes-16525.md
release-notes-18244.md [rpc] fundrawtransaction, walletcreatefundedpsbt lock manually selected coins 2020-08-07 14:13:15 +02:00
release-notes-18309.md doc: Add release notes to support multiple interfaces 2020-09-23 23:14:29 +02:00
release-notes-19405.md Add in/out connections to cli -getinfo 2020-08-24 18:41:24 +02:00
release-notes-19671.md Remove -zapwallettxes 2020-08-31 12:39:19 -04:00
release-notes-19731.md doc: release note for getpeerinfo last_block/last_transaction 2020-08-15 15:26:33 +02:00
release-notes.md Merge #19802: doc: elaborate on release notes wrt netmasks 2020-09-30 16:03:02 +02:00
release-process.md
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.