bitcoin/contrib
laanwj d4475ea7ae
Merge bitcoin/bitcoin#22235: script: add script to generate example bitcoin.conf
b42643c253 doc: update init.cpp -conf help text (josibake)
970b9987ad doc: update devtools, release-process readmes (josibake)
50635d27b4 build: include bitcoin.conf in build outputs (josibake)
6aac946f49 doc: update bitcoin-conf.md (Josiah Baker)
1c7e820ded script: add script to generate example bitcoin.conf (josibake)
b483084d86 doc: replace bitcoin.conf with placeholder file (josibake)

Pull request description:

  create a script for parsing the output from `bitcoind --help` to create an example conf file for new users

  ## problem

  per #10746 , `bitcoin.conf` not being put into the data directory during installation causes some confusion for users when running bitcoin. in the discussion on the issue, one proposed solution was to have an example config file and instruct users to `cp` it into their data directory after startup. in addition to #10746 , there have been other requests for a "skeleton config file" (https://github.com/bitcoin/bitcoin/issues/19641) to help users get started with configuring bitcoind.

  the main issue with an example config file is that it creates a second source of truth regarding what options are available for configuring bitcoind. this means any changes to the options (including the addition or removal of options) would have to be updated for the command line and also updated in the example file.

  this PR addresses this issue by providing a script to generate an example file directly from the `bitcoind --help` on-demand by running `contrib/devtools/gen-bitcoin-conf.sh`. this solution was originally proposed on #10746 and would also solve #19641 . this guarantees any changes made to the command-line options or the command-line options help would also be reflected in the example file after compiling and running the script.

  the main purpose of this script is to generate a config file to be included with releases, same as `gen-manpages.sh`. this ensures every release also includes an up-to-date, full example config file for users to edit. the script is also available for users who compile from source for generating an example config for their compiled binary.

  ## special considerations

  this removes the `bitcoin.conf` example file from the repo as it is now generated by this script. the original example file did contain extra text related to how to use certain options but going forward all option help docs should be moved into `init.cpp`

  this also edits `init.cpp` to have the option help indicate that `-conf` is not usable from the config file. this is similar to how `-includeconf` 's help indicates it cannot be used from the command line

ACKs for top commit:
  laanwj:
    Tested and code review ACK b42643c253

Tree-SHA512: 4546e0cef92aa1398da553294ce4712d02e616dd72dcbe0b921af474e54f24750464ec813661f1283802472d1e8774e634dd1cc26fbf1f13286d3e0406c02c09
2022-05-04 21:12:56 +02:00
..
builder-keys Merge bitcoin/bitcoin#24788: doc: Add gpg key import instructions for Windows 2022-04-20 11:41:19 +01:00
debian doc: Update license year range to 2022 2022-01-03 04:48:41 +08:00
devtools Merge bitcoin/bitcoin#22235: script: add script to generate example bitcoin.conf 2022-05-04 21:12:56 +02:00
guix build: include bitcoin.conf in build outputs 2022-05-04 20:45:14 +02:00
init Merge #21418: contrib: Make systemd invoke dependencies only when ready 2021-03-22 15:15:14 +01:00
linearize test, contrib, refactor: use with when opening a file 2022-04-27 20:04:33 -03:00
macdeploy contrib: macdeploy: fix permissions typo in gen-sdk script 2022-04-22 22:09:44 +02:00
message-capture Add documentation to contrib folder 2021-01-23 16:15:05 -05:00
qos scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
seeds contrib: Remove suspicious hosts list from makeseeds 2022-04-15 14:12:15 +02:00
shell guix: Add source-able bash prelude and utils 2021-04-05 11:00:21 -04:00
signet contrib: fix signet miner (sighash mismatch) 2022-03-14 11:54:50 +01:00
testgen contrib: make gen_key_io_test_vectors deterministic 2022-04-06 17:02:50 +02:00
tracing Merge bitcoin/bitcoin#23907: tracing: utxocache tracepoints follow up for #22902 2022-02-20 11:27:54 +00:00
verify-commits test, contrib, refactor: use with when opening a file 2022-04-27 20:04:33 -03:00
verifybinaries scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
windeploy scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
zmq scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
bitcoin-cli.bash-completion scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
bitcoin-tx.bash-completion bash-completion: Adapt for 0.12 and 0.13 2016-07-07 07:52:59 -04:00
bitcoind.bash-completion scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
filter-lcov.py scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
install_db4.sh contrib: add check for wget command in install_db4.sh 2021-12-02 22:02:40 +01:00
README.md release: remove gitian 2021-08-31 09:37:23 +08:00
valgrind.supp supp: remove Boost Valgrind suppression 2022-04-04 10:40:00 +01:00

Repository Tools

Developer tools

Specific tools for developers working on this repository. Additional tools, including the github-merge.py script, are available in the maintainer-tools repository.

Verify-Commits

Tool to verify that every merge commit was signed by a developer using the github-merge.py script.

Linearize

Construct a linear, no-fork, best version of the blockchain.

Qos

A Linux bash script that will set up traffic control (tc) to limit the outgoing bandwidth for connections to the Bitcoin network. This means one can have an always-on bitcoind instance running, and another local bitcoind/bitcoin-qt instance which connects to this node and receives blocks from it.

Seeds

Utility to generate the pnSeed[] array that is compiled into the client.

Build Tools and Keys

Packaging

The Debian subfolder contains the copyright file.

All other packaging related files can be found in the bitcoin-core/packaging repository.

Builder keys

PGP keys used for signing Bitcoin Core release results.

MacDeploy

Scripts and notes for Mac builds.

Test and Verify Tools

TestGen

Utilities to generate test vectors for the data-driven Bitcoin tests.

Verify Binaries

This script attempts to download and verify the signature file SHA256SUMS.asc from bitcoin.org.