Bitcoin for Fedora and Red Hat Enterprise Linux

Notice: The Bitcoin RPM repository GPG key fingerprint is 179A 8CC0 90B4 95B2 4620 E172 FC6E 7E4E A436 0C84.

Bitcoin on Fedora 24

To donate to this project, scan the QR code above, click to open your Bitcoin wallet, or copy and paste 17fDs8d2ACKhfwGHMADpWtBGiU6WneyxkZ.

Note for ARM and AArch64 users: Test failures in previous versions of Bitcoin for these architectures have been resolved. Builds for armhfp are now in the repositories; builds for aarch64 will follow in the next few days.

Note for EL 6 users: Bitcoin is no longer being built for EL 6. As of 0.11.0, Bitcoin uses features which are not available on that platform and can not be easily replaced. You should migrate to EL 7 as soon as possible.

Get Started

To get started with Bitcoin, install the bitcoin-release RPM to set up the bitcoin repository on your computer.

RHEL (and derivatives): Install bitcoin-release-3-1.noarch.rpm

On RHEL systems, you also need to enable the optional channel.

Run: yum-config-manager --enable rhel-7-server-optional-rpms

On RHEL and derivative systems, you need to install and enable the EPEL repository. On CentOS, EPEL will be installed and enabled for you when you install bitcoin-release.

Fedora (all versions): Install bitcoin-release-3-1.noarch.rpm


Note: This repository carries Bitcoin Core, Bitcoin Classic and Bitcoin XT. To use Bitcoin Classic, wherever bitcoin appears below, type bitcoinclassic instead; and to use Bitcoin XT, type bitcoinxt instead.

Install the Bitcoin-Qt GUI

Install the bitcoin-core package. (Note: Prior to 0.13.0, this package was named bitcoin.)

Bitcoin Core Bitcoin Classic Bitcoin XT
RHEL 7: Run yum install bitcoin-core Not available yum install bitcoinxt
Fedora: Run dnf install bitcoin-core dnf install bitcoinclassic dnf install bitcoinxt

Install the Bitcoin Server

Use the Bitcoin server to run a wallet server as a system service. The Bitcoin server distributed here is protected by SELinux and has some other slight differences you should be aware of.

Note that when you install or update the Bitcoin server, the installation may take an additional minute or so while its SELinux policies are being rebuilt on your system.

  1. Install the bitcoin-server package.
    Bitcoin Core Bitcoin Classic Bitcoin XT
    RHEL 7: Run yum install bitcoin-server Not available yum install bitcoinxt-server
    Fedora: Run dnf install bitcoin-server dnf install bitcoinclassic-server dnf install bitcoinxt-server
  2. Set an RPC password for the server by creating or editing /etc/bitcoin/bitcoin.conf as root.rpcpassword=a_more_secure_password_than_this_one
  3. Set the Bitcoin server to start at boot time. Run systemctl enable bitcoin.
  4. If desired, start the Bitcoin server immediately. Run systemctl start bitcoin.Note that the Bitcoin server will not start if an RPC password is not set as shown above.

Install the Bitcoin Command Line Utilities

The bitcoin-cli command line program connects to a remote Bitcoin server via RPC. Beginning with version 0.10.0, you need to provide the RPC password in your user configuration file $HOME/.bitcoin/bitcoin.conf. You can also explicitly point to the global configuration file with -conf /etc/bitcoin/bitcoin.conf, but as this requires being root it is not recommended.

The bitcoin-tx command line program creates and modifies transactions.

Both of these programs are in the bitcoin-utils package. Note that in versions prior to 0.10.0 this package was named bitcoin-cli and contained only the bitcoin-cli program.

Install the bitcoin-utils package.

Bitcoin Core Bitcoin Classic Bitcoin XT
RHEL 7: Run yum install bitcoin-utils Not available yum install bitcoinxt-utils
Fedora: Run dnf install bitcoin-utils dnf install bitcoinclassic-utils dnf install bitcoinxt-utils

If you install the Bitcoin server, this package will be installed automatically so that you can communicate with it.

Install the Bitcoin Consensus Library

Developers who wish to use the libbitcoinconsensus library introduced with 0.10.0 can install the bitcoin-devel package to gain access to this library and the header files needed to use it.

Install the bitcoin-devel package.

Bitcoin Core Bitcoin Classic Bitcoin XT
RHEL 7: Run yum install bitcoin-devel Not available yum install bitcoinxt-devel
Fedora: Run dnf install bitcoin-devel Bitcoin Classic does not ship this library dnf install bitcoinxt-devel

Browse

Browse the current repositories to download binaries and source code directly.

Distribution Bitcoin repo Bitcoin-test repo
RHEL 7 x86_64, SRPMS x86_64, SRPMS
Fedora 25 aarch64, armhfp, i386, x86_64, SRPMS aarch64, armhfp, i386, x86_64, SRPMS
Fedora 24 aarch64, armhfp, i386, x86_64, SRPMS aarch64, armhfp, i386, x86_64, SRPMS

Historic repositories: After a distribution is deemed end of life, Bitcoin will no longer be built for it. The last binary release will be published for six months, and the source code will be published for at least three years, beyond the date of the last release. Because these do not receive updates, they must not be used on live networks; upgrade to a supported distribution instead. They are provided solely for reference and open source license compliance.

Also note that while RHEL 6 is not end of life, Bitcoin can no longer be safely built for it as of version 0.11.0 as this release uses features not available on EL6. Users running Bitcoin on EL6 should migrate to EL7 as soon as possible.

Distribution Bitcoin repo
RHEL 6 SRPMS (Last release 0.10.2-1)
Fedora 23 i386, x86_64, SRPMS (Last release 0.13.2-1)
Fedora 22 SRPMS (Last release 0.12.1-1)
Fedora 21 SRPMS (Last release 0.11.1-1)
Fedora 20 SRPMS (Last release 0.10.2-1)
Fedora 19 SRPMS (Last release 0.10.0-1)
Fedora 18 SRPMS (Last release 0.8.6-3)
Fedora 17 SRPMS (Last release 0.8.6-1)
Fedora 16 SRPMS (Last release 0.8.6-1)

Why?

This repository is intended to serve two somewhat overlapping sets of users:

The first set of users wants to use Bitcoin with their existing Red Hat-based package management system rather than having to manually check the Bitcoin site for updates periodically.

The second, and perhaps more important, set of users wants a more secure build of Bitcoin than the project provides in its prebuilt binaries. This includes mining pools, exchanges, large online stores, and other users handling large amounts of bitcoins.

These Bitcoin builds include full support for SELinux, which helps to protect the Bitcoin wallet from other system services even if one of the other system services is compromised. In this way, users of SELinux-enabled Bitcoin are less likely to have their wallets stolen via 0-day attacks.

Problems

Report any issues with the RPM packaging here. Report any issues with the Bitcoin GUI or daemon here. You can also send email to bitcoin at this domain.

FAQ

Q. How can we trust you?

A. All packages in this repository are signed with this GPG key, the private key for which is kept offline. The source for all packages is also available here so that you can inspect it yourself and compare it to the original. In addition, you may wish to look at my Bitcoin Talk profile, my bitcoin-otc profile and my Stack Exchange profile.

Q. Do you support Red Hat Enterprise Linux 5?

A. Red Hat Enterprise Linux 5 and 6 are not supported. Many libraries included with these versions of RHEL are too old to support current versions of Bitcoin and replacements for them would have to be provided. This would be a significant amount of work.

Q. Do you support Amazon Linux?

A. Amazon Linux is not supported. While it uses the RPM packaging format, it is a rolling-release distribution that is not compatible with RHEL/CentOS or Fedora. Because it is a moving target, packages built for Amazon Linux tend to break at inopportune times. Because of its inherent instability, using Amazon Linux is not recommended for any project that requires stability, not just Bitcoin.

Q. Do you support previous versions of Fedora?

A. I do not support Linux distributions once they have reached end of life status as determined by the distribution vendor. Going forward, builds for EOL distributions will be provided only in certain circumstances. The current build status for EOL distributions is shown in the table above.

Q. How quickly do you update Bitcoin?

A. I strive to have Bitcoin updated within the repository within 24 hours of a new release. Historically most releases have been available within four hours of the upstream release, and the most critical security updates (e.g. for issues like Heartbleed) are usually available before the upstream release. Updates to architectures other than x86_64 and i386 may be delayed by one to two days.

Q. Do you upgrade or replace system libraries?

A. This repository does not replace any system libraries.

In the past, this repository used a separate copy of OpenSSL because the system OpenSSL had certain algorithms disabled which Bitcoin required. Now that Bitcoin no longer depends on OpenSSL, I will be working to get Bitcoin made an official part of Fedora and EPEL and, eventually, shutting down this repository.

Q. Bitcoin bundles some sensitive software, such as LevelDB. Do you replace this software?

A. No. Certain components which Bitcoin uses to process the blockchain are not safe to upgrade or downgrade without well-planned flag days; therefore it’s critical to use a specific version, and sometimes to use specific patches to that version. When Bitcoin bundles a library for these reasons, it is used as-is, instead of using the system library.

Q. Do you provide software other than the Bitcoin client?

A. In addition to Bitcoin, this repository provides Bitcoin Classic and Bitcoin XT. The installation is the same as above, with bitcoin in package names changed to bitcoinclassic or bitcoinxt (e.g. bitcoinclassic-server). Note that Bitcoin Core, Bitcoin Classic and Bitcoin XT packages may not be installed at the same time on the same system.

I also provide dependencies required to build Bitcoin which aren’t provided by the system repositories. In the future I would like to provide builds of alternative clients, Bitcoin miners, etc. If you have a particular piece of Bitcoin-related software on your wish list, submit its name along with a Bitcoin donation to the address shown above. Note that for legal reasons I am unable to ship proprietary code such as AMD’s OpenCL or NVIDIA’s CUDA.