Full stack Bitcoin software

Building

Building Bitcoin Server (bs) and Bitcoin Explorer (bx) on Linux, macOS and Windows: build options, toolchains, libbitcoin-build, platform coverage and build status.

Bitcoin Server (bs) is built from libbitcoin-server and the four libraries it depends on: libbitcoin-system, libbitcoin-database, libbitcoin-network and libbitcoin-node. Bitcoin Explorer (bx) is built from libbitcoin-explorer and the two libraries it depends on: libbitcoin-system and libbitcoin-network. Each repository's install script builds and installs its libraries in order, ending with its own.

1. Choosing a build#

Platform Build system Script Page
Linux Autotools or CMake install-gnu.sh, install-cmake.sh, install-presets.sh Linux
macOS Autotools or CMake install-gnu.sh, install-cmake.sh macOS
Windows Visual Studio build-msvc.cmd Windows

The three build systems produce the same bs and bx. CMake and autotools are equivalent on Linux and macOS. CMake presets select a configuration by name.

2. Supported platforms#

x64 x86 (32-bit) arm64 arm32 s390x (big-endian)
Linux ✔ CI ✔ CI ✔ CI ✔ CI ✔ CI
macOS ✔ CI Obsolete ✔ CI N/A N/A
Windows ✔ CI ✔ CI ✔ CI Obsolete N/A

bx and the libraries build on every platform above. bs requires 64-bit. BSD and Cygwin are not tested.

Platform coverage compares platforms, compilers and build systems with Bitcoin Core.

3. Supported compilers#

Platform Compilers Build systems
Linux GCC, Clang Autotools, CMake, CMake presets
macOS Apple Clang (Xcode) Autotools, CMake
Windows MSVC v145 (Visual Studio 2026), Clang (clang-cl, with Visual Studio) Visual Studio, MSBuild

4. What every build needs#

Nothing else is required (see Build options).

5. Quick start#

On Linux or macOS, a static release build installed under ~/libbitcoin, optimized for the build machine:

$ git clone https://github.com/libbitcoin/libbitcoin-server
$ cd libbitcoin-server
$ ./builds/gnu/install-gnu.sh --prefix=$HOME/libbitcoin --build-config=release --build-link=static --hardware-optimized

The result is ~/libbitcoin/bin/bs. bx is built the same way from libbitcoin-explorer:

$ git clone https://github.com/libbitcoin/libbitcoin-explorer
$ cd libbitcoin-explorer
$ ./builds/gnu/install-gnu.sh --prefix=$HOME/libbitcoin --build-config=release --build-link=static --hardware-optimized

The result is ~/libbitcoin/bin/bx. On Windows, see Windows.

6. Hardware options#

By default bs and bx are built for the baseline instruction set of its architecture (AVX2 by default on Windows, which can be lowered). Options such as --enable-avx2 or --enable-shani make them faster on CPUs that have those instructions, and unable to run on CPUs that do not. --hardware-optimized enables all that the build machine supports, so its builds run only on CPUs with the same extensions. Run bs --hardware on the target machine to see what it supports, and see Build options.

7. Pages#

Copyright © 2011-2026 libbitcoin developers