Bitcoin Classic Logo

Running Bitcoin Classic on Linux

This page describes the ways to install and manage Classic on your Linux machine.

Bitcoin Classic ships both a background application (called daemon in Linux) bitcoind and a graphical application bitcoin-qt. The daemon version of Bitcoin Classic can run without graphics systems installed on the system and the only way to interact with it is to use the command line.

Bitcoin Classic packages are created such that the bitcoin-qt application has to be run in a desktop session by the local user and it will download the blockchain into that user's homedir. Warning, this is currently an almost 100GB download!

The bitcoind background application is shipped to allow you to run it as its own user and the blockchain is downloaded to the /var/lib/bitcoin directory.

Pick an install method

To integrate best with Linux the Bitcoin Classic team has prepared several options based on which distribution of Linux you are running.

The Ubuntu family of distros are supported using ubuntu's launchpad.net.
Please see our HOWTO for more info: howtos/ubuntu-install

The ArchLinux family of distros we support using their AUR packaging system. You can find the packages maintained by Classic on the Arch infrastructure. Use bitcoin-classic for stable releases, or if you install on a server you want to use bitcoin-classic-daemon.

Configure your node

Bitcoin reads a config file called bitcoin.conf. For GUI usage that file is read from the ~/.bitcoin/ directory, if you run the daemon using systemd your configfile can be found in /etc/bitcoin/

It is worth noting that editing your config file requires a restart of the software to activate your changes. Be aware that the software at this time doesn't output warnings if you provide invalid or unknown tokens. So be careful with typos!

You can read the /usr/share/doc/bitcoin/examples/bitcoin.conf for configuration details, or simply run bitcoind --help on the command-line.

Plan and secure your setup

Installing the package will auto create a 'bitcoin' user and group. Please make sure you don't already have those before installing, or your install will fail.

The default setup for your daemon is that it has some config files in /etc/bitcoin/ and the blockchain is stored in /var/lib/bitcoind/.

Running the daemon with systemd will disable the wallet functionality, run it manually, as your own user, if you need a wallet.

In case your machine is multi-user you should consider that read permissions to the /etc/bitcoin dir will allow a user to communicate (including shutting it down) your bitcoin daemon process. Additionally there is a log file in your /var/lib/bitcoind directory that may contain sensitive information.

For those multi-user machines we recommend removing the word-readable bit and putting selected users in the bitcoin group.

In order to communicate with your bitcoind instance there is a command called bitcoin-cli. Simply run bitcoin-cli help to get a full overview of commands.

Running nightly builds

Bitcoin Classic has nightly builds from the development branch. You should not run this on production servers unless you know what you are doing!

For Ubuntu family of systems there is a launchpad PPA.

For ArchLinux family of systems there are two AUR packages.
bitcoin-classic-git for all of Classic,
bitcoin-classic-daemon-git for a headless build.

Something didn't work

Installation failed of the package.

The most likely reason for this is that since version 1.2 Bitcoin Classic creates its own bitcoin user. If you have manually created a user on the machine with the same name, installation will fail.
You should remove the user from your /etc/passwd, /etc/group and /etc/shadow files. Then you can install the package. After installation is complete you may want to chown old files to the new user.

bitcoin-cli doesn't want to connect

First please check that the daemon is running. You can use systemctl status bitcoind to check.
If it is running and you still can't communicate with it, check if your /etc/bincoind/.cookie (hidden) file exists and is readable by the user running bitcoin-cli.
Last, you should try passing this parameter -conf=/etc/bitcoin/bitcoin.conf to bitcoin-cli.