I need Bitcoin Core only for running my non-routing core-lightning node (private channels only) as an end user (not as a developer)? The lightning node is to be run on the same machine as bitcoin core.

1. Do I need to compile bench_bitcoin, bitcoin-cli, bitcoin-util, bitcoin-tx and test_bitcoin for that purpose?

2. I customized the compilation with ./configure --disable-wallet --disable-tests --disable-bench. Are there any other flags that I could pass to configure in order to save on CPU and storage and still maintain my lightning node functional?

3. Where can I read more on each of the Bitcoin Core's binary such as bitcoin-util bench_bitcoin, test_bitcoin, and bitcoin-cli

The research I've done so far include config -hand https://en.bitcoin.it/wiki/Bitcoin_Core_0.11_(ch_1):_Overview .

1 Answer 1


Core Lightning directly interacts only with bitcoin-cli, which in turn interacts with bitcoind. Those are the only two binaries you will need, indipendently of whether you compiled the binaries yourself or downloaded a release from https://bitcoincore.org/ (always double-check that you are downloading from the right place, and check the gitian signatures when possible).

As for your customizations, I would likely not compile with --disable-wallet as that may have some side-effects on propagation of your own transactions, and mempool, however I cannot find any confirmation of this on the docs so it might also be safe.

And finally, the binaries:

  • bitcoin-util is a simple utility to test out proof-of-work (https://www.mankier.com/1/bitcoin-util). This likely is not used for anything outside development, so feel free to ignore this one.
  • bench_bitcoin is a benchmarking tool, used during development, to ensure there are no performance regressions from version to version.
  • test_bitcoin is the testsuite for integration and unit tests. It is also used during development, and not much use outside.
  • bitcoin-cli is the bitcoin command line interface, and is the way that most things talk to bitcoind when running, including CLN.
  • Thanks, I ran ./configure --disable-tests --disable-bench --enable-util-cli --with-utils=no and it installed just bitcoind and bitcoin-cli. I just addded the mention of bitcoin-tx to my question - what is it used for?
    – John Smith
    Jan 22 at 11:46
  • 1
    I didn't know myself, but looking at the man-page (man.archlinux.org/man/bitcoin-tx.1.en) it sounds like a utility to create or update transactions in their hex format before submitting them to the network. It's not needed by any tool I'm aware of.
    – cdecker
    Jan 23 at 17:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.