Bitcoin for Fedora and Red Hat Enterprise Linux
Bitcoin ABC is now available, for those of you needing to support Bitcoin Cash.
Notice: The Bitcoin RPM repository GPG key fingerprint is 179A 8CC0 90B4 95B2 4620 E172 FC6E 7E4E A436 0C84.
To donate to this project, scan the QR code above, click to open your Bitcoin wallet, or copy and paste 1ASdc6RHA76r5PruMHVzdn8w6Vj7XauUNx.
Note for ARM users: Builds for 64-bit ARM are in progress and are expected to be complete by the 22nd February 2018. Builds for 32-bit ARM platforms have been suspended indefinitely, as this legacy platform is unlikely to be able to keep up with the future scale of Bitcoin.
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.
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-4-1.noarch.rpm
On RHEL systems, you also need to enable the optional channel.
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
Fedora (all versions): Install bitcoin-release-4-1.noarch.rpm
Note: This repository carries Bitcoin Core and Bitcoin ABC. To use Bitcoin ABC, wherever
bitcoin appears below, type
Install the Bitcoin-Qt GUI
bitcoin-core package. (Note: Prior to 0.13.0, this package was named
|Bitcoin Core||Bitcoin ABC|
|RHEL 7: Run||
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.
- Install the
Bitcoin Core Bitcoin ABC RHEL 7: Run
yum install bitcoin-server
yum install bitcoin-abc-server
dnf install bitcoin-server
dnf install bitcoin-abc-server
- Set an RPC password for the server by creating or editing
- Set the Bitcoin server to start at boot time. Run
systemctl enable bitcoin.
- 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
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.
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 Core||Bitcoin ABC|
|RHEL 7: Run||
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.
|Bitcoin Core||Bitcoin ABC|
|RHEL 7: Run||
Browse the current repositories to download binaries and source code directly.
|Distribution||Bitcoin repo||Bitcoin-test repo|
|RHEL 7||aarch64, x86_64, SRPMS||aarch64, x86_64, SRPMS|
|Fedora 27||aarch64, i386, x86_64, SRPMS||aarch64, i386, x86_64, SRPMS|
|Fedora 26||aarch64, i386, x86_64, SRPMS||aarch64, 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.
|RHEL 6||SRPMS (Last release 0.10.2-1)|
|Fedora 25||aarch64, armhfp, i386, x86_64, SRPMS (Last release 0.15.1-1)|
|Fedora 24||SRPMS (Last release 0.14.2-1)|
|Fedora 23||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)|
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.
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.
These issues also appear to be present in Amazon Linux 2, so no support is planned.
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 ABC. The installation is the same as above, with
bitcoin in package names changed to
bitcoin-abc-server). Note that Bitcoin Core and Bitcoin ABC 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.