bitcoin/contrib
Carl Dong 689a65d878 contrib/init: Better systemd integration
1. Make logs available to journalctl (systemd's logging system) by not
   specifying -daemonwait, which rightfully has its own set of stdout
   and stderr descriptors (a user invoking with -daemonwait on the
   command line should not see any logs). It makes more sense not to
   daemonize in the systemd context anyway.

2. Make systemd aware of when bitcoind is started and in steady state by
   specifying -startupnotify='systemd-notify --ready' and Type=notify.
   NotifyAccess=all is necessary so that the spawned thread for
   startupnotify is allowed to inform systemd of bitcoind's readiness.

   Note that NotifyAccess=exec won't work because it only allows
   sd_notify readiness signalling from Exec*= declarations in the
   .service file.

3. Also make systemd aware of when bitcoind is stopping by specifying
   -shutdownnotify='systemd-notify --stopping'

Note that we currently don't allow multiple *notify commands, but users
can override it in systemd via:

  # systemctl edit bitcoind

By specifying something like:

  [Service]
  ExecStart=/usr/bin/bitcoind -pid=/run/bitcoind/bitcoind.pid \
                              -conf=/etc/bitcoin/bitcoin.conf \
                              -datadir=/var/lib/bitcoind \
                              -startupnotify='systemd-notify --ready; mystartupcommandhere' \
                              -shutdownnotify='systemd-notify --stopping; myshutdowncommandhere'
2023-05-28 13:10:30 -04:00
..
builder-keys add glozow builder key 2022-07-06 11:15:39 +01:00
debian doc: Update license year range to 2022 2022-01-03 04:48:41 +08:00
devtools Move {Load,Dump}Mempool to kernel namespace 2022-07-15 12:26:20 -04:00
guix build: include share/rpcauth in tarball & installer 2022-08-16 11:32:42 +01:00
init contrib/init: Better systemd integration 2023-05-28 13:10:30 -04:00
linearize test, contrib, refactor: use with when opening a file 2022-04-27 20:04:33 -03:00
macdeploy doc: Fix typo in macdeploy 2022-06-28 03:37:18 +00:00
message-capture message-capture-parser: fix out of bounds error for empty vectors 2022-06-14 14:28:50 +02:00
qos scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
seeds net: update hardcoded mainnet seeds for 24.x 2022-08-24 00:04:00 +02:00
shell guix: Add source-able bash prelude and utils 2021-04-05 11:00:21 -04:00
signet test: add constants for PSBT key types (BIP 174) 2022-07-19 15:40:51 +02: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 Remove my key from trusted-keys 2022-07-07 16:53:48 -04:00
verifybinaries scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
windeploy windeploy: Renewed windows code signing certificate 2022-05-24 12:55:03 -04: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 contrib: remove unneeded valgrind suppressions 2022-07-21 10:16:47 +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.