<p>Core Lightning directly interacts only with <code>bitcoin-cli</code>, which in turn interacts with <code>bitcoind</code>. Those are the only two binaries you will need, indipendently of whether you compiled the binaries yourself or downloaded a release from <a href="https://bitcoincore.org/" rel="nofollow noreferrer">https://bitcoincore.org/</a> (always double-check that you are downloading from the right place, and check the gitian signatures when possible).</p>
<p>As for your customizations, I would likely not compile with <code>--disable-wallet</code> 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 <a href="https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md#disable-wallet-mode" rel="nofollow noreferrer">docs</a> so it might also be safe.</p>
<p>And finally, the binaries:</p>
<ul>
<li><code>bitcoin-util</code> is a simple utility to test out proof-of-work (<a href="https://www.mankier.com/1/bitcoin-util" rel="nofollow noreferrer">https://www.mankier.com/1/bitcoin-util</a>). This likely is not used for anything outside development, so feel free to ignore this one.</li>
<li><code>bench_bitcoin</code> is a benchmarking tool, used during development, to ensure there are no performance regressions from version to version.</li>
<li><code>test_bitcoin</code> is the testsuite for integration and unit tests. It is also used during development, and not much use outside.</li>
<li><code>bitcoin-cli</code> is the bitcoin command line interface, and is the way that most things talk to <code>bitcoind</code> when running, including CLN.</li>
</ul>

CC BY-SA 4.0
2024-01-22T11:46:24.300Z
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
CC BY-SA 4.0
2024-01-23T17:08:04.003Z
I didn't know myself, but looking at the man-page (https://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
CC BY-SA 4.0
2024-01-22T10:24:10.870Z
2024-01-22T10:24:10.870Z
cdecker
<p>I need <strong>Bitcoin Core</strong> only for running my non-routing <a href="https://github.com/ElementsProject/lightning" rel="nofollow noreferrer">core-lightning</a> 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.</p>
<p><strong>1.</strong> Do I need to compile <code>bench_bitcoin</code>, <code>bitcoin-cli</code>, <code>bitcoin-util</code>, <code>bitcoin-tx</code> and <code>test_bitcoin</code> for that purpose?</p>
<p><strong>2.</strong> I customized the compilation with <code>./configure --disable-wallet  --disable-tests --disable-bench</code>. Are there any other flags that I could pass to <code>configure</code> in order to save on CPU and storage and still maintain my lightning node functional?</p>
<p><strong>3.</strong> Where can I read more on each of the Bitcoin Core's binary such as <code>bitcoin-util</code>
<code>bench_bitcoin</code>, <code>test_bitcoin</code>, and <code>bitcoin-cli</code></p>
<p>The research I've done so far include <code>config -h</code>and <a href="https://en.bitcoin.it/wiki/Bitcoin_Core_0.11_(ch_1):_Overview" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/Bitcoin_Core_0.11_(ch_1):_Overview</a> .</p>

<bitcoin-core><core-lightning><compiling><installation>
Which binaries do I need to compile from Bitcoin Core's code for running my non-routing node as an end user?
John Smith
# Which binaries do I need to compile from Bitcoin Core's code for running my non-routing node as an end user?

(Asked by: username_0 on 2024-01-22)

I need **Bitcoin Core** only for running my non-routing [core-lightning](https://github.com/ElementsProject/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 -h`and <https://en.bitcoin.it/wiki/Bitcoin_Core_0.11_(ch_1):_Overview> .

**Tags:** bitcoin-core, core-lightning, compiling, installation


---

## 1 answers

### Answer by username_1 on 2024-01-22. Score: 3 | Accepted answer

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](https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md#disable-wallet-mode) 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.

> **Comments:**
> **username_0**: 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?  
> **username_1**: I didn't know myself, but looking at the man-page (https://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.  

---

