<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Igor Bubelov</title>
        <link>https://bubelov.com/series/bitcoin-release-unpacked/</link>
        <description>All posts by Igor Bubelov</description><atom:link href="https://bubelov.com/series/bitcoin-release-unpacked/index.xml" rel="self" type="application/rss+xml" />
        <item>
            <title>Bitcoin Release Unpacked - v29</title>
            <link>https://bubelov.com/blog/2025/bitcoin-29-unpacked/</link>
            <pubDate>Wed, 23 Apr 2025 00:00:00 +0000</pubDate>
            <guid>https://bubelov.com/blog/2025/bitcoin-29-unpacked/</guid>
            <description>&lt;p&gt;Every Bitcoin release is distributed as a single archive containing many cryptic files. In fact, you rarely need them all, but it&amp;rsquo;s important to understand the purpose of each and every file in this archive in order to pick the ones you actually need.&lt;/p&gt;
&lt;div class=&#34;table-of-contents&#34;&gt;
    &lt;h2&gt;Table of Contents&lt;/h2&gt;
    &lt;nav id=&#34;TableOfContents&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;#whats-changed-since-v28&#34;&gt;What&amp;rsquo;s Changed Since v28&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#where-to-find-the-latest-release&#34;&gt;Where to Find the Latest Release&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#building-from-source-vs-getting-binaries&#34;&gt;Building From Source vs Getting Binaries&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#extracting-files-from-release-archive&#34;&gt;Extracting Files From Release Archive&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#bin-directory&#34;&gt;/bin Directory&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#bitcoinconf&#34;&gt;/bitcoin.conf&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#share-directory&#34;&gt;/share Directory&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#conclusion&#34;&gt;Conclusion&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;h2 id=&#34;whats-changed-since-v28&#34;&gt;What&amp;rsquo;s Changed Since v28&lt;/h2&gt;
&lt;p&gt;I didn&amp;rsquo;t notice any changes in release bundle file names or structure. For code changes, you can check &lt;a href=&#34;https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-29.0.md#notable-changes&#34;&gt;this page&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;where-to-find-the-latest-release&#34;&gt;Where to Find the Latest Release&lt;/h2&gt;
&lt;p&gt;Bitcoin source code is currently &lt;a href=&#34;https://github.com/bitcoin/bitcoin&#34;&gt;hosted on GitHub&lt;/a&gt;. When the devs feel that their code is stable enough to be used by node operators, they create a new release and bump its version number. GitHub has a &lt;a href=&#34;https://github.com/bitcoin/bitcoin/releases&#34;&gt;nice interface&lt;/a&gt; which allows us to see the latest releases.&lt;/p&gt;
&lt;p&gt;The most recent release is tagged as &lt;a href=&#34;https://github.com/bitcoin/bitcoin/releases/tag/v29.0&#34;&gt;v29.0&lt;/a&gt;, so that&amp;rsquo;s the latest Bitcoin version, and that&amp;rsquo;s what we&amp;rsquo;ll download and examine in detail.&lt;/p&gt;
&lt;h2 id=&#34;building-from-source-vs-getting-binaries&#34;&gt;Building From Source vs Getting Binaries&lt;/h2&gt;
&lt;p&gt;Since Bitcoin is an open source project, you can fetch its source code and compile it yourself. However, this practice is discouraged because it&amp;rsquo;s far more complicated compared with getting a pre-compiled package. Some might think that building from source is safer, but it couldn&amp;rsquo;t be further from the truth. The archive with pre-built binaries is no less secure than the source code itself because it&amp;rsquo;s protected by cryptographic signatures which you can verify if you suspect that your archive might have been tampered with.&lt;/p&gt;
&lt;h2 id=&#34;extracting-files-from-release-archive&#34;&gt;Extracting Files From Release Archive&lt;/h2&gt;
&lt;p&gt;Every Bitcoin release has a link to the &lt;a href=&#34;https://bitcoincore.org/bin/bitcoin-core-29.0/&#34;&gt;page&lt;/a&gt; where you can download an archive with pre-built binaries. You&amp;rsquo;ll see many archives there, but you only need the one which is built for your operating system and instruction set architecture. I&amp;rsquo;m running Linux and I have an x86 CPU, so I need an &lt;em&gt;x86_64-linux-gnu&lt;/em&gt; version:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl --output bitcoin-29.0.tar.gz https://bitcoincore.org/bin/bitcoin-core-29.0/bitcoin-29.0-x86_64-linux-gnu.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The name of the archive we just downloaded ends with &lt;em&gt;.tar.gz&lt;/em&gt; which is supposed to give as a hint on how to deal with this file. It&amp;rsquo;s common to assume that archives are always compressed, but you can create an uncompressed archive with a tool like &lt;em&gt;tar&lt;/em&gt;. Since the compression is optional, it&amp;rsquo;s a good practice to append the information about the compression method to the name of your archive. Bitcoin releases are always compressed with &lt;em&gt;gzip&lt;/em&gt;, so that&amp;rsquo;s the reason behind this weird file extension.&lt;/p&gt;
&lt;p&gt;Okay, now it&amp;rsquo;s time to extract all the files from the archive we just downloaded:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar --extract --file bitcoin-29.0.tar.gz --verbose
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You should see the following output:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/README.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/bin/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/bin/bitcoin-cli
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/bin/bitcoin-qt
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/bin/bitcoin-tx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/bin/bitcoin-util
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/bin/bitcoin-wallet
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/bin/bitcoind
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/bin/test_bitcoin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/bitcoin.conf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/share/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/share/man/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/share/man/man1/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/share/man/man1/bitcoin-cli.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/share/man/man1/bitcoin-qt.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/share/man/man1/bitcoin-tx.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/share/man/man1/bitcoin-util.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/share/man/man1/bitcoin-wallet.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/share/man/man1/bitcoind.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/share/rpcauth/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/share/rpcauth/README.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-29.0/share/rpcauth/rpcauth.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wow, that&amp;rsquo;s a lot of files and directories. Let&amp;rsquo;s go through them one by one:&lt;/p&gt;
&lt;h2 id=&#34;bin-directory&#34;&gt;/bin Directory&lt;/h2&gt;
&lt;p&gt;First, let&amp;rsquo;s check that the &lt;em&gt;/bin&lt;/em&gt; directory also exists on our target machine. That&amp;rsquo;s the path where we&amp;rsquo;re expected to place our Bitcoin executables.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ls -l /bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lrwxrwxrwx 1 root root 7 Oct 18 21:01 /bin -&amp;gt; usr/bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In many modern Linux distributions, both &lt;em&gt;/bin&lt;/em&gt; and &lt;em&gt;/usr/bin&lt;/em&gt; point to the same directory, so &lt;em&gt;/bin&lt;/em&gt; is just an alias for &lt;em&gt;/usr/bin&lt;/em&gt;. This sounds like the best place to keep your Bitcoin binaries. If you have any doubts, you can always check &lt;a href=&#34;https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s04.html&#34;&gt;Filesystem Hierarchy Standard&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But wait, what about &lt;a href=&#34;https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s09.html&#34;&gt;this entry&lt;/a&gt;?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Locally installed software must be placed within &lt;em&gt;/usr/local&lt;/em&gt; rather than &lt;em&gt;/usr&lt;/em&gt; unless it is being installed to replace or upgrade software in &lt;em&gt;/usr&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It turns out, the best place to install Bitcoin binaries is &lt;em&gt;/usr/local/bin&lt;/em&gt;. Now that we know where to install those binaries, let&amp;rsquo;s check what they actually do:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;File&lt;/th&gt;
					&lt;th&gt;Purpose&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-cli&lt;/td&gt;
					&lt;td&gt;Command line tool which can talk to a running &lt;em&gt;bitcoind&lt;/em&gt; or &lt;em&gt;bitcoin-qt&lt;/em&gt; instance.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoind&lt;/td&gt;
					&lt;td&gt;Bitcoin Core server, without GUI included.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-qt&lt;/td&gt;
					&lt;td&gt;Qt-based GUI with a built-in Bitcoin Core server.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-tx&lt;/td&gt;
					&lt;td&gt;A standalone tool which can help you manage raw transactions.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-util&lt;/td&gt;
					&lt;td&gt;It can provide functionality that does not rely on the ability to access a running Bitcoin Server. The only available command so far is &lt;em&gt;grind&lt;/em&gt; which takes a hex-encoded header and grinds its nonce until its &lt;em&gt;nBits&lt;/em&gt; is satisfied.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-wallet&lt;/td&gt;
					&lt;td&gt;A standalone tool which is used to manage Bitcoin Core wallet.dat files. Note that Bitcoin Core server (bitcoin-qt or bitcoind) can manage wallets by itself so this tool is completely optional.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;test_bitcoin&lt;/td&gt;
					&lt;td&gt;The binary that implements all of Bitcoin Core&amp;rsquo;s unit tests. It has been verified to pass all tests when this build of Bitcoin Core was created, but you can always repeat those tests if you feel like it.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;bitcoinconf&#34;&gt;/bitcoin.conf&lt;/h2&gt;
&lt;p&gt;Most programs can be configured to better fit a particular environment and Bitcoin Core is no exception. Older versions of Bitcoin Core didn&amp;rsquo;t really have an easy way to see all the possible configuration parameters and their purpose, and that led to the introduction of the &amp;ldquo;skeleton&amp;rdquo; conf file. This file can be copied to your data directory, but it doesn&amp;rsquo;t change any configuration options, by default. You&amp;rsquo;re supposed to open this file, find the option you want to adjust, and uncomment the string which enables this option. This way, you can clearly see the default values for every possible configuration option, as well as any active overrides.&lt;/p&gt;
&lt;h2 id=&#34;share-directory&#34;&gt;/share Directory&lt;/h2&gt;
&lt;p&gt;The last directory included in our release is &lt;em&gt;/share&lt;/em&gt;, so let&amp;rsquo;s first figure out its purpose.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Any program or package which contains or requires data that doesn&amp;rsquo;t need to be modified should store that data in /usr/share (or /usr/local/share, if installed locally)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Well, man pages aren&amp;rsquo;t supposed to be edited, so it would make perfect sense to place them in &lt;em&gt;/usr/local/share&lt;/em&gt; directory.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;File&lt;/th&gt;
					&lt;th&gt;Purpose&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-cli.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-cli binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoind.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoind binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-qt.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-qt binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-tx.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-tx binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-util.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-util binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-wallet.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-wallet binary&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;It&amp;rsquo;s generally a good idea to install manuals for all the tools you&amp;rsquo;re planning to use because they tend to be quite informative, and they don&amp;rsquo;t need an Internet connection to be accessed.&lt;/p&gt;
&lt;p&gt;There is also a folder called &lt;em&gt;rpcauth&lt;/em&gt;, and it contains a simple script used to generate JSON-RPC users.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;File&lt;/th&gt;
					&lt;th&gt;Purpose&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;rpcauth/README.md&lt;/td&gt;
					&lt;td&gt;Explains how to use rpcauth.py&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;rpcauth/rpcauth.py&lt;/td&gt;
					&lt;td&gt;A script used to create JSON-RPC users&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Bitcoin releases tend to contain many files, so it might be hard to understand what&amp;rsquo;s going on and which files are necessary for your particular use. For a casual desktop user, I&amp;rsquo;d recommend installing only the following files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/bin/bitcoin-cli&lt;/li&gt;
&lt;li&gt;/bin/bitcoin-qt&lt;/li&gt;
&lt;li&gt;/share/man/man1/bitcoin-cli.1&lt;/li&gt;
&lt;li&gt;/share/man/man1/bitcoin-qt.1&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you don&amp;rsquo;t have or don&amp;rsquo;t need a GUI and you want to run a headless node, this set of files might better fit your particular case:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/bin/bitcoin-cli&lt;/li&gt;
&lt;li&gt;/bin/bitcoind&lt;/li&gt;
&lt;li&gt;/share/man/man1/bitcoin-cli.1&lt;/li&gt;
&lt;li&gt;/share/man/man1/bitcoind.1&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
        <item>
            <title>Bitcoin Release Unpacked - v28</title>
            <link>https://bubelov.com/blog/2024/bitcoin-28-unpacked/</link>
            <pubDate>Mon, 07 Oct 2024 00:00:00 +0000</pubDate>
            <guid>https://bubelov.com/blog/2024/bitcoin-28-unpacked/</guid>
            <description>&lt;p&gt;Every Bitcoin release is distributed as a single archive containing many cryptic files. In fact, you rarely need them all, but it&amp;rsquo;s important to understand the purpose of each and every file in this archive in order to pick the ones you actually need.&lt;/p&gt;
&lt;div class=&#34;table-of-contents&#34;&gt;
    &lt;h2&gt;Table of Contents&lt;/h2&gt;
    &lt;nav id=&#34;TableOfContents&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;#whats-changed-since-v27&#34;&gt;What&amp;rsquo;s Changed Since v27&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#where-to-find-the-latest-release&#34;&gt;Where to Find the Latest Release&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#building-from-source-vs-getting-binaries&#34;&gt;Building From Source vs Getting Binaries&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#extracting-files-from-release-archive&#34;&gt;Extracting Files From Release Archive&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#bin-directory&#34;&gt;/bin Directory&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#bitcoinconf&#34;&gt;/bitcoin.conf&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#share-directory&#34;&gt;/share Directory&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#conclusion&#34;&gt;Conclusion&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;h2 id=&#34;whats-changed-since-v27&#34;&gt;What&amp;rsquo;s Changed Since v27&lt;/h2&gt;
&lt;p&gt;It looks like &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/29189&#34;&gt;libconsensus is out&lt;/a&gt;, which means there are 4 less files and 2 less directories in v28. Here is a full list of removed files and dirs:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/include/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/include/bitcoinconsensus.h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/lib/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/lib/libbitcoinconsensus.so
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/lib/libbitcoinconsensus.so.0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/lib/libbitcoinconsensus.so.0.0.0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;where-to-find-the-latest-release&#34;&gt;Where to Find the Latest Release&lt;/h2&gt;
&lt;p&gt;Bitcoin source code is currently &lt;a href=&#34;https://github.com/bitcoin/bitcoin&#34;&gt;hosted on GitHub&lt;/a&gt;. When the devs feel that their code is stable enough to be used by node operators, they create a new release and bump its version number. GitHub has a &lt;a href=&#34;https://github.com/bitcoin/bitcoin/releases&#34;&gt;nice interface&lt;/a&gt; which allows us to see the latest releases.&lt;/p&gt;
&lt;p&gt;The most recent release is tagged as &lt;a href=&#34;https://github.com/bitcoin/bitcoin/releases/tag/v28.0&#34;&gt;v28.0&lt;/a&gt;, so that&amp;rsquo;s the latest Bitcoin version, and that&amp;rsquo;s what we&amp;rsquo;ll download and examine in detail.&lt;/p&gt;
&lt;h2 id=&#34;building-from-source-vs-getting-binaries&#34;&gt;Building From Source vs Getting Binaries&lt;/h2&gt;
&lt;p&gt;Since Bitcoin is an open source project, you can fetch its source code and compile it yourself. However, this practice is discouraged because it&amp;rsquo;s far more complicated compared with getting a pre-compiled package. Some might think that building from source is safer, but it couldn&amp;rsquo;t be further from the truth. The archive with pre-built binaries is no less secure than the source code itself because it&amp;rsquo;s protected by cryptographic signatures which you can verify if you suspect that your archive might have been tampered with.&lt;/p&gt;
&lt;h2 id=&#34;extracting-files-from-release-archive&#34;&gt;Extracting Files From Release Archive&lt;/h2&gt;
&lt;p&gt;Every Bitcoin release has a link to the &lt;a href=&#34;https://bitcoincore.org/bin/bitcoin-core-28.0/&#34;&gt;page&lt;/a&gt; where you can download an archive with pre-built binaries. You&amp;rsquo;ll see many archives there, but you only need the one which is built for your operating system and instruction set architecture. I&amp;rsquo;m running Linux and I have an x86 CPU, so I need an &lt;em&gt;x86_64-linux-gnu&lt;/em&gt; version:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl --output bitcoin-28.0.tar.gz https://bitcoincore.org/bin/bitcoin-core-28.0/bitcoin-28.0-x86_64-linux-gnu.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The name of the archive we just downloaded ends with &lt;em&gt;.tar.gz&lt;/em&gt; which is supposed to give as a hint on how to deal with this file. It&amp;rsquo;s common to assume that archives are always compressed, but you can create an uncompressed archive with a tool like &lt;em&gt;tar&lt;/em&gt;. Since the compression is optional, it&amp;rsquo;s a good practice to append the information about the compression method to the name of your archive. Bitcoin releases are always compressed with &lt;em&gt;gzip&lt;/em&gt;, so that&amp;rsquo;s the reason behind this weird file extension.&lt;/p&gt;
&lt;p&gt;Okay, now it&amp;rsquo;s time to extract all the files from the archive we just downloaded:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar --extract --file bitcoin-28.0.tar.gz --verbose
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You should see the following output:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/README.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/bin/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/bin/bitcoin-cli
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/bin/bitcoin-qt
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/bin/bitcoin-tx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/bin/bitcoin-util
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/bin/bitcoin-wallet
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/bin/bitcoind
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/bin/test_bitcoin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/bitcoin.conf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/share/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/share/man/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/share/man/man1/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/share/man/man1/bitcoin-cli.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/share/man/man1/bitcoin-qt.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/share/man/man1/bitcoin-tx.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/share/man/man1/bitcoin-util.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/share/man/man1/bitcoin-wallet.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/share/man/man1/bitcoind.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/share/rpcauth/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/share/rpcauth/README.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-28.0/share/rpcauth/rpcauth.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wow, that&amp;rsquo;s a lot of files and directories. Let&amp;rsquo;s go through them one by one:&lt;/p&gt;
&lt;h2 id=&#34;bin-directory&#34;&gt;/bin Directory&lt;/h2&gt;
&lt;p&gt;First, let&amp;rsquo;s check that the &lt;em&gt;/bin&lt;/em&gt; directory also exists on our target machine. That&amp;rsquo;s the path where we&amp;rsquo;re expected to place our Bitcoin executables.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ls -l /bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lrwxrwxrwx 1 root root 7 Oct 18 21:01 /bin -&amp;gt; usr/bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In many modern Linux distributions, both &lt;em&gt;/bin&lt;/em&gt; and &lt;em&gt;/usr/bin&lt;/em&gt; point to the same directory, so &lt;em&gt;/bin&lt;/em&gt; is just an alias for &lt;em&gt;/usr/bin&lt;/em&gt;. This sounds like the best place to keep your Bitcoin binaries. If you have any doubts, you can always check &lt;a href=&#34;https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s04.html&#34;&gt;Filesystem Hierarchy Standard&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But wait, what about &lt;a href=&#34;https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s09.html&#34;&gt;this entry&lt;/a&gt;?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Locally installed software must be placed within &lt;em&gt;/usr/local&lt;/em&gt; rather than &lt;em&gt;/usr&lt;/em&gt; unless it is being installed to replace or upgrade software in &lt;em&gt;/usr&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It turns out, the best place to install Bitcoin binaries is &lt;em&gt;/usr/local/bin&lt;/em&gt;. Now that we know where to install those binaries, let&amp;rsquo;s check what they actually do:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;File&lt;/th&gt;
					&lt;th&gt;Purpose&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-cli&lt;/td&gt;
					&lt;td&gt;Command line tool which can talk to a running &lt;em&gt;bitcoind&lt;/em&gt; or &lt;em&gt;bitcoin-qt&lt;/em&gt; instance.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoind&lt;/td&gt;
					&lt;td&gt;Bitcoin Core server, without GUI included.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-qt&lt;/td&gt;
					&lt;td&gt;Qt-based GUI with a built-in Bitcoin Core server.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-tx&lt;/td&gt;
					&lt;td&gt;A standalone tool which can help you manage raw transactions.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-util&lt;/td&gt;
					&lt;td&gt;It can provide functionality that does not rely on the ability to access a running Bitcoin Server. The only available command so far is &lt;em&gt;grind&lt;/em&gt; which takes a hex-encoded header and grinds its nonce until its &lt;em&gt;nBits&lt;/em&gt; is satisfied.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-wallet&lt;/td&gt;
					&lt;td&gt;A standalone tool which is used to manage Bitcoin Core wallet.dat files. Note that Bitcoin Core server (bitcoin-qt or bitcoind) can manage wallets by itself so this tool is completely optional.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;test_bitcoin&lt;/td&gt;
					&lt;td&gt;The binary that implements all of Bitcoin Core&amp;rsquo;s unit tests. It has been verified to pass all tests when this build of Bitcoin Core was created, but you can always repeat those tests if you feel like it.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;bitcoinconf&#34;&gt;/bitcoin.conf&lt;/h2&gt;
&lt;p&gt;Most programs can be configured to better fit a particular environment and Bitcoin Core is no exception. Older versions of Bitcoin Core didn&amp;rsquo;t really have an easy way to see all the possible configuration parameters and their purpose, and that led to the introduction of the &amp;ldquo;skeleton&amp;rdquo; conf file. This file can be copied to your data directory, but it doesn&amp;rsquo;t change any configuration options, by default. You&amp;rsquo;re supposed to open this file, find the option you want to adjust, and uncomment the string which enables this option. This way, you can clearly see the default values for every possible configuration option, as well as any active overrides.&lt;/p&gt;
&lt;h2 id=&#34;share-directory&#34;&gt;/share Directory&lt;/h2&gt;
&lt;p&gt;The last directory included in our release is &lt;em&gt;/share&lt;/em&gt;, so let&amp;rsquo;s first figure out its purpose.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Any program or package which contains or requires data that doesn&amp;rsquo;t need to be modified should store that data in /usr/share (or /usr/local/share, if installed locally)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Well, man pages aren&amp;rsquo;t supposed to be edited, so it would make perfect sense to place them in &lt;em&gt;/usr/local/share&lt;/em&gt; directory.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;File&lt;/th&gt;
					&lt;th&gt;Purpose&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-cli.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-cli binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoind.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoind binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-qt.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-qt binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-tx.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-tx binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-util.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-util binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-wallet.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-wallet binary&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;It&amp;rsquo;s generally a good idea to install manuals for all the tools you&amp;rsquo;re planning to use because they tend to be quite informative, and they don&amp;rsquo;t need an Internet connection to be accessed.&lt;/p&gt;
&lt;p&gt;There is also a folder called &lt;em&gt;rpcauth&lt;/em&gt;, and it contains a simple script used to generate JSON-RPC users.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;File&lt;/th&gt;
					&lt;th&gt;Purpose&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;rpcauth/README.md&lt;/td&gt;
					&lt;td&gt;Explains how to use rpcauth.py&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;rpcauth/rpcauth.py&lt;/td&gt;
					&lt;td&gt;A script used to create JSON-RPC users&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Bitcoin releases tend to contain many files, so it might be hard to understand what&amp;rsquo;s going on and which files are necessary for your particular use. For a casual desktop user, I&amp;rsquo;d recommend installing only the following files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/bin/bitcoin-cli&lt;/li&gt;
&lt;li&gt;/bin/bitcoin-qt&lt;/li&gt;
&lt;li&gt;/share/man/man1/bitcoin-cli.1&lt;/li&gt;
&lt;li&gt;/share/man/man1/bitcoin-qt.1&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you don&amp;rsquo;t have or don&amp;rsquo;t need a GUI and you want to run a headless node, this set of files might better fit your particular case:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/bin/bitcoin-cli&lt;/li&gt;
&lt;li&gt;/bin/bitcoind&lt;/li&gt;
&lt;li&gt;/share/man/man1/bitcoin-cli.1&lt;/li&gt;
&lt;li&gt;/share/man/man1/bitcoind.1&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
        <item>
            <title>Bitcoin Release Unpacked - v27</title>
            <link>https://bubelov.com/blog/2022/bitcoin-release/</link>
            <pubDate>Fri, 17 Jun 2022 00:00:00 +0000</pubDate>
            <guid>https://bubelov.com/blog/2022/bitcoin-release/</guid>
            <description>&lt;p&gt;Every Bitcoin release is distributed as a single archive containing a lot of cryptic files. In fact, you rarely need all of them, but it&amp;rsquo;s pretty important to understand the purpose of each and every file in this archive in order to pick the ones you might actually need.&lt;/p&gt;
&lt;div class=&#34;table-of-contents&#34;&gt;
    &lt;h2&gt;Table of Contents&lt;/h2&gt;
    &lt;nav id=&#34;TableOfContents&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;#where-to-find-the-latest-release&#34;&gt;Where to Find the Latest Release&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#building-from-source-vs-getting-binaries&#34;&gt;Building From Source vs Getting Binaries&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#extracting-files-from-the-archive&#34;&gt;Extracting Files From the Archive&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#bin-directory&#34;&gt;/bin Directory&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#bitcoinconf&#34;&gt;/bitcoin.conf&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#include-directory&#34;&gt;/include Directory&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#lib-directory&#34;&gt;/lib Directory&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#share-directory&#34;&gt;/share Directory&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#conclusion&#34;&gt;Conclusion&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;h2 id=&#34;where-to-find-the-latest-release&#34;&gt;Where to Find the Latest Release&lt;/h2&gt;
&lt;p&gt;Bitcoin&amp;rsquo;s source code is currently &lt;a href=&#34;https://github.com/bitcoin/bitcoin&#34;&gt;hosted on GitHub&lt;/a&gt;. When Bitcoin devs feel that their code is stable enough to be deployed in production, they tag it as a release and increment its version number. GitHub has a &lt;a href=&#34;https://github.com/bitcoin/bitcoin/releases&#34;&gt;nice interface&lt;/a&gt; which allows us to see the latest release tags.&lt;/p&gt;
&lt;p&gt;The most recent release is tagged as &lt;a href=&#34;https://github.com/bitcoin/bitcoin/releases/tag/v27.0&#34;&gt;v27.0&lt;/a&gt;, so that&amp;rsquo;s the latest Bitcoin version, and it&amp;rsquo;s the most sensible thing for us to download.&lt;/p&gt;
&lt;h2 id=&#34;building-from-source-vs-getting-binaries&#34;&gt;Building From Source vs Getting Binaries&lt;/h2&gt;
&lt;p&gt;Since Bitcoin is an open source project, you can fetch its source code and compile it yourself. However, this practice is discouraged because it&amp;rsquo;s far more complicated compared with getting a pre-compiled package. Some might think that building from source is safer, but it couldn&amp;rsquo;t be further from the truth. The archive with pre-built binaries is no less secure than the source code itself because it&amp;rsquo;s protected by cryptographic signatures which you can verify if you suspect that your archive might have been tampered with.&lt;/p&gt;
&lt;h2 id=&#34;extracting-files-from-the-archive&#34;&gt;Extracting Files From the Archive&lt;/h2&gt;
&lt;p&gt;Every Bitcoin release has a link to the &lt;a href=&#34;https://bitcoincore.org/bin/bitcoin-core-27.0/&#34;&gt;page&lt;/a&gt; where you can download an archive with pre-built binaries. You&amp;rsquo;ll see a lot of archives there, but you only need the one which is built for your operating system and instruction set architecture. I&amp;rsquo;m running Linux and I have an AMD CPU, so I need an &lt;em&gt;x86_64-linux-gnu&lt;/em&gt; version:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl --output bitcoin-27.0.tar.gz https://bitcoincore.org/bin/bitcoin-core-27.0/bitcoin-27.0-x86_64-linux-gnu.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The name of the archive we just downloaded ends with &lt;em&gt;.tar.gz&lt;/em&gt; which is supposed to give as a hint on how to deal with this file. It&amp;rsquo;s common to assume that archives are always compressed, but you can create an uncompressed archive with a tool like &lt;em&gt;tar&lt;/em&gt;. Since the compression is optional, it&amp;rsquo;s a good practice to append the information about the compression method to the name of your archive. Bitcoin releases are always compressed with &lt;em&gt;gzip&lt;/em&gt;, so that&amp;rsquo;s the reason behind this weird file extension.&lt;/p&gt;
&lt;p&gt;Okay, now it&amp;rsquo;s time to extract all the files from the archive we just downloaded:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar --extract --file bitcoin-27.0.tar.gz --verbose
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You should see the following output:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/README.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/bin/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/bin/bitcoin-cli
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/bin/bitcoin-qt
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/bin/bitcoin-tx
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/bin/bitcoin-util
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/bin/bitcoin-wallet
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/bin/bitcoind
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/bin/test_bitcoin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/bitcoin.conf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/include/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/include/bitcoinconsensus.h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/lib/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/lib/libbitcoinconsensus.so
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/lib/libbitcoinconsensus.so.0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/lib/libbitcoinconsensus.so.0.0.0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/share/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/share/man/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/share/man/man1/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/share/man/man1/bitcoin-cli.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/share/man/man1/bitcoin-qt.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/share/man/man1/bitcoin-tx.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/share/man/man1/bitcoin-util.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/share/man/man1/bitcoin-wallet.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/share/man/man1/bitcoind.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/share/rpcauth/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/share/rpcauth/README.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitcoin-27.0/share/rpcauth/rpcauth.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wow, that&amp;rsquo;s a lot of files and dirs. Let&amp;rsquo;s go through them one by one:&lt;/p&gt;
&lt;h2 id=&#34;bin-directory&#34;&gt;/bin Directory&lt;/h2&gt;
&lt;p&gt;First, let&amp;rsquo;s check that the &lt;em&gt;/bin&lt;/em&gt; directory also exists on our target machine. That&amp;rsquo;s the path where we&amp;rsquo;re expected to place our Bitcoin executables.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ls -l /bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lrwxrwxrwx 1 root root 7 Oct 18 21:01 /bin -&amp;gt; usr/bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In many modern Linux distributions, both &lt;em&gt;/bin&lt;/em&gt; and &lt;em&gt;/usr/bin&lt;/em&gt; point to the same directory, so &lt;em&gt;/bin&lt;/em&gt; is just an alias for &lt;em&gt;/usr/bin&lt;/em&gt;. This sounds like the best place to keep your Bitcoin binaries. If you have any doubts, you can always check &lt;a href=&#34;https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s04.html&#34;&gt;Filesystem Hierarchy Standard&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But wait, what about &lt;a href=&#34;https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s09.html&#34;&gt;this entry&lt;/a&gt;?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Locally installed software must be placed within &lt;em&gt;/usr/local&lt;/em&gt; rather than &lt;em&gt;/usr&lt;/em&gt; unless it is being installed to replace or upgrade software in &lt;em&gt;/usr&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It turns out, the best place to install Bitcoin binaries is &lt;em&gt;/usr/local/bin&lt;/em&gt;. Now that we know where to install those binaries, let&amp;rsquo;s check what they actually do:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;File&lt;/th&gt;
					&lt;th&gt;Purpose&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-cli&lt;/td&gt;
					&lt;td&gt;Command line tool which can talk to a running &lt;em&gt;bitcoind&lt;/em&gt; or &lt;em&gt;bitcoin-qt&lt;/em&gt; instance.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoind&lt;/td&gt;
					&lt;td&gt;Bitcoin Core server, without GUI included.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-qt&lt;/td&gt;
					&lt;td&gt;Qt-based GUI with a built-in Bitcoin Core server.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-tx&lt;/td&gt;
					&lt;td&gt;A standalone tool which can help you manage raw transactions.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-util&lt;/td&gt;
					&lt;td&gt;It can provide functionality that does not rely on the ability to access a running Bitcoin Server. The only available command so far is &lt;em&gt;grind&lt;/em&gt; which takes a hex-encoded header and grinds its nonce until its &lt;em&gt;nBits&lt;/em&gt; is satisfied.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoin-wallet&lt;/td&gt;
					&lt;td&gt;A standalone tool which is used to manage Bitcoin Core wallet.dat files. Note that Bitcoin Core server (bitcoin-qt or bitcoind) can manage wallets by itself so this tool is completely optional.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;test_bitcoin&lt;/td&gt;
					&lt;td&gt;The binary that implements all of Bitcoin Core&amp;rsquo;s unit tests. It has been verified to pass all tests when this build of Bitcoin Core was created, but you can always repeat those tests if you feel like it.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;bitcoinconf&#34;&gt;/bitcoin.conf&lt;/h2&gt;
&lt;p&gt;Most programs can be configured to better fit a particular environment and Bitcoin Core is no exception. Older versions of Bitcoin Core didn&amp;rsquo;t really have an easy way to see all the possible configuration parameters and their purpose, and that led to the introduction of the &amp;ldquo;skeleton&amp;rdquo; conf file. This file can be copied to your data directory, but it doesn&amp;rsquo;t change any configuration options, by default. You&amp;rsquo;re supposed to open this file, find the option you want to adjust, and uncomment the string which enables this option. This way, you can clearly see the default values for every possible configuration option, as well as any active overrides.&lt;/p&gt;
&lt;h2 id=&#34;include-directory&#34;&gt;/include Directory&lt;/h2&gt;
&lt;p&gt;As usual, it&amp;rsquo;s always a good idea to check the latest &lt;a href=&#34;https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html&#34;&gt;Filesystem Hierarchy Standard&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;/usr/include - This is where all the system&amp;rsquo;s general-use include files for the C programming language should be placed.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Again, it&amp;rsquo;s safer to use &lt;em&gt;/usr/local/include&lt;/em&gt; instead of &lt;em&gt;/usr/include&lt;/em&gt; in order to avoid conflicts with your package manager. We have only a single file to include and here is what it does:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;File&lt;/th&gt;
					&lt;th&gt;Purpose&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;bitcoinconsensus.h&lt;/td&gt;
					&lt;td&gt;C header file for those who want to build software using the &lt;em&gt;libbitcoinconsensus.so&lt;/em&gt; library.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;lib-directory&#34;&gt;/lib Directory&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;/usr/lib includes object files and libraries. On some systems, it may also include internal binaries that are not intended to be executed directly by users or shell scripts.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It looks like &lt;em&gt;/lib&lt;/em&gt; follows the same pattern as &lt;em&gt;/bin&lt;/em&gt;, and &lt;em&gt;/lib&lt;/em&gt; is just an alias for &lt;em&gt;/usr/lib&lt;/em&gt;. As usual, it&amp;rsquo;s better to use &lt;em&gt;/usr/local/lib&lt;/em&gt; in order to avoid collisions.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;File&lt;/th&gt;
					&lt;th&gt;Purpose&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;libbitcoinconsensus.so&lt;/td&gt;
					&lt;td&gt;Symlink to libbitcoinconsensus.so.0.0.0&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;libbitcoinconsensus.so.0&lt;/td&gt;
					&lt;td&gt;Symlink to libbitcoinconsensus.so.0.0.0&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;libbitcoinconsensus.so.0.0.0&lt;/td&gt;
					&lt;td&gt;Shared library that you can link your own software against. It implements the exact same script validation rules as Bitcoin Core does, thus avoiding the need to reimplement consensus logic yourself.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;So, this directory contains a single shared library and two symlinks which simply point to its location. This is a standard versioning convention, so it&amp;rsquo;s better to copy all of those files if you&amp;rsquo;re planning to use &lt;em&gt;libbitcoinconsensus&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id=&#34;share-directory&#34;&gt;/share Directory&lt;/h2&gt;
&lt;p&gt;The last directory included in our release is &lt;em&gt;/share&lt;/em&gt;, so let&amp;rsquo;s first figure out its purpose.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Any program or package which contains or requires data that doesn&amp;rsquo;t need to be modified should store that data in /usr/share (or /usr/local/share, if installed locally)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Well, man pages aren&amp;rsquo;t supposed to be edited, so it would make perfect sense to place them in &lt;em&gt;/usr/local/share&lt;/em&gt; directory.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;File&lt;/th&gt;
					&lt;th&gt;Purpose&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-cli.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-cli binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoind.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoind binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-qt.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-qt binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-tx.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-tx binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-util.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-util binary&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;man/man1/bitcoin-wallet.1&lt;/td&gt;
					&lt;td&gt;man page for bitcoin-wallet binary&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;It&amp;rsquo;s generally a good idea to install manuals for all the tools you&amp;rsquo;re planning to use because they tend to be quite informative, and they don&amp;rsquo;t need an Internet connection to be accessed.&lt;/p&gt;
&lt;p&gt;There is also a folder called &lt;em&gt;rpcauth&lt;/em&gt;, and it contains a simple script used to generate JSON-RPC users.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;File&lt;/th&gt;
					&lt;th&gt;Purpose&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;rpcauth/README.md&lt;/td&gt;
					&lt;td&gt;Explains how to use rpcauth.py&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;rpcauth/rpcauth.py&lt;/td&gt;
					&lt;td&gt;A script used to create JSON-RPC users&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Bitcoin releases tend to contain a lot of files, so it might be hard to understand what&amp;rsquo;s going on and which files are necessary for your particular use. For a casual desktop user, I&amp;rsquo;d recommend installing only the following files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/bin/bitcoin-cli&lt;/li&gt;
&lt;li&gt;/bin/bitcoin-qt&lt;/li&gt;
&lt;li&gt;/share/man/man1/bitcoin-cli.1&lt;/li&gt;
&lt;li&gt;/share/man/man1/bitcoin-qt.1&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you don&amp;rsquo;t have or don&amp;rsquo;t need a GUI and you want to run a headless node, this set of files might better fit your particular case:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/bin/bitcoin-cli&lt;/li&gt;
&lt;li&gt;/bin/bitcoind&lt;/li&gt;
&lt;li&gt;/share/man/man1/bitcoin-cli.1&lt;/li&gt;
&lt;li&gt;/share/man/man1/bitcoind.1&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>