0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-01 09:35:52 -05:00
bitcoin-bitcoin-core/doc
merge-script e8f72aefd2
Merge bitcoin/bitcoin#29877: tracing: explicitly cast block_connected duration to nanoseconds
cd0edf26c0 tracing: cast block_connected duration to nanoseconds (0xb10c)

Pull request description:

  When the `validation:block_connected` tracepoint was introduced in 8f37f5c2a5, the connect block duration was passed in microseconds `µs`. By starting to use steady clock in fabf1cdb20 this changed to nanoseconds `ns`. As the test only checked if the duration value is `> 0` as a plausibility check, this went unnoticed. This was detected this when setting up monitoring for block validation time as part of the Great Consensus Cleanup Revival discussion.

  This change casts the duration explicitly to nanoseconds, updates the documentation, and adds a check for an upper bound to the tracepoint interface tests. The upper bound is quite lax as mining the block takes much longer than connecting the empty test block. It's however able to detect a duration passed in an incorrect unit (1000x off).

  A previous version of this PR casted the duration to microseconds `µs` - however, as the last three major releases have had the duration as nanoseconds (and this went unnoticed), we assume that this is the API now and changeing it back to microseconds would break the API again. See also https://github.com/bitcoin/bitcoin/pull/29877#issuecomment-2067867597

ACKs for top commit:
  maflcko:
    re-lgtm ACK cd0edf26c0
  laanwj:
    re-ACK cd0edf26c0

Tree-SHA512: 54a1eea0297e01c07c2d071ffafbf97dbd080f763e1dc0014ff086a913b739637c1634b1cf87c90b94a3c2f66006acfaada0414a15769cac761e03bc4aab2a77
2024-10-17 16:30:12 +01:00
..
design doc: multiprocess documentation improvements 2024-09-23 15:03:04 -05:00
man build: Remove Autotools-based build system 2024-08-30 21:31:39 +01:00
policy [doc] update documentation for new mempoolfullrbf default 2024-08-07 10:19:52 +01:00
release-notes doc: Archive 28.0 release notes 2024-10-04 19:25:11 -04:00
assets-attribution.md
assumeutxo.md doc: fix assumeutxo design doc link 2024-09-04 22:53:34 +01:00
benchmarking.md doc: Update for CMake-based build system 2024-08-16 21:24:08 +01:00
bips.md docs: Add 379 and 387 to bips.md 2024-08-27 11:20:54 -04:00
bitcoin-conf.md doc: add testnet4 section header for config file 2024-10-01 15:18:12 +02:00
bitcoin_logo_doxygen.png
build-freebsd.md doc: Remove mention of natpmp build options 2024-09-30 11:37:56 +02:00
build-netbsd.md doc: Update for CMake-based build system 2024-08-16 21:24:08 +01:00
build-openbsd.md doc: Remove mention of natpmp build options 2024-09-30 11:37:56 +02:00
build-osx.md doc: drop LLVM install instructions 2024-10-16 14:20:21 +01:00
build-unix.md doc: Remove mention of natpmp build options 2024-09-30 11:37:56 +02:00
build-windows-msvc.md docs: Fix minor typo 2024-09-08 20:25:53 +02:00
build-windows.md doc: remove dependency install instructions from win docs 2024-10-16 14:47:11 +01:00
cjdns.md
CMakeLists.txt cmake: add USE_SOURCE_PERMISSIONS to all configure_file usage 2024-09-06 10:52:19 +01:00
dependencies.md Merge bitcoin/bitcoin#30527: Bump python minimum supported version to 3.10 2024-10-16 08:35:26 -04:00
descriptors.md Merge bitcoin/bitcoin#22838: descriptors: Be able to specify change and receiving in a single descriptor string 2024-08-28 15:56:15 +01:00
developer-notes.md doc: Updating docs from autotools to cmake 2024-09-18 11:04:52 -04:00
dnsseed-policy.md
Doxyfile.in cmake: Add docs build target 2024-08-16 21:19:12 +01:00
external-signer.md
files.md Merge bitcoin/bitcoin#29775: Testnet4 including PoW difficulty adjustment fix 2024-08-07 13:05:04 -04:00
fuzzing.md doc: fuzz: remove Honggfuzz NetDriver instructions 2024-10-15 07:46:54 -03:00
guix.md
i2p.md
init.md
JSON-RPC-interface.md
managing-wallets.md
multiprocess.md doc: multiprocess documentation improvements 2024-09-23 15:03:04 -05:00
multisig-tutorial.md doc: Prepend 'build/' to binary paths under 'src/' in docs 2024-08-29 15:23:12 +02:00
offline-signing-tutorial.md doc: Prepend 'build/' to binary paths under 'src/' in docs 2024-08-29 15:23:12 +02:00
p2p-bad-ports.md
productivity.md doc: Update for CMake-based build system 2024-08-16 21:24:08 +01:00
psbt.md
README.md doc: update IBD requirements in doc/README.md 2024-10-02 17:46:11 +02:00
README_doxygen.md
README_windows.txt
reduce-memory.md
reduce-traffic.md
release-notes-28358.md
release-notes-empty-template.md build: Bump minimum supported macOS to 13.0 2024-10-15 10:18:48 +01:00
release-process.md doc: Update for CMake-based build system 2024-08-16 21:24:08 +01:00
REST-interface.md testnet: Introduce Testnet4 2024-08-06 01:38:10 +02:00
tor.md doc: tor.md: use -bind=127.0.0.1:8334=onion for the Tor bind 2024-08-02 09:45:16 +02:00
tracing.md tracing: cast block_connected duration to nanoseconds 2024-09-03 14:15:37 +02:00
translation_process.md doc: Updating docs from autotools to cmake 2024-09-18 11:04:52 -04:00
translation_strings_policy.md doc: Updating docs from autotools to cmake 2024-09-18 11:04:52 -04:00
zmq.md doc: correct the zmq automatic build info 2024-09-25 07:07:04 -04: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 several hundred gigabytes or more of disk space. Depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to several days 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.