本文档介绍了在Unix系统上构建Bitcoin Core的步骤,包括安装依赖、配置编译选项以及针对不同Linux发行版(如Ubuntu、Debian和Fedora)的具体指令。此外,还涵盖了在无钱包模式下编译Bitcoin Core,以及如何使用其他配置标志。
关于如何在 Unix 中构建 Bitcoin Core 的一些说明。
(对于 BSD 特定的说明,请参阅此目录中的 build-*bsd.md
。)
cmake -B build
cmake --build build # 添加 "-j N" 以进行 N 个并行作业
cmake --install build # 可选
请参阅下面的说明,了解如何在流行的 Linux 发行版上安装依赖项,或完整的依赖项概述。
C++ 编译器是内存密集型的。建议在编译 Bitcoin Core 时至少有 1.5 GB 的可用内存。在内存较少的系统上,可以调整 gcc 以使用额外的 CMAKE_CXX_FLAGS
来节省内存:
cmake -B build -DCMAKE_CXX_FLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768"
或者,可以跳过调试信息的编译。对于默认的构建类型 RelWithDebInfo
,默认的编译标志是 -O2 -g
,可以使用以下方式更改:
cmake -B build -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O2 -g0"
最后,可以使用 clang(通常资源消耗较少)代替默认使用的 gcc:
cmake -B build -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang
构建要求:
sudo apt-get install build-essential cmake pkgconf python3
现在,你可以从自行编译的 depends 构建,也可以安装所需的依赖项:
sudo apt-get install libevent-dev libboost-dev
描述符钱包需要 SQLite:
sudo apt install libsqlite3-dev
要构建不带钱包的 Bitcoin Core,请参阅禁用钱包模式
启用 ZMQ 的二进制文件使用 -DWITH_ZMQ=ON
编译,并且需要以下依赖项:
sudo apt-get install libzmq3-dev
用户空间,静态定义跟踪 (USDT) 依赖项:
sudo apt install systemtap-sdt-dev
启用 IPC 的二进制文件使用 -DENABLE_IPC=ON
编译,并且需要以下依赖项。如果不需要 IPC 功能,请跳过。
sudo apt-get install libcapnp-dev capnproto
GUI 依赖项:
Bitcoin Core 包含一个使用跨平台 Qt 框架构建的 GUI。要编译 GUI,我们需要安装 Qt 的必要部分,libqrencode 和传递 -DBUILD_GUI=ON
。如果你不打算使用 GUI,请跳过。
sudo apt-get install qt6-base-dev qt6-tools-dev qt6-l10n-tools qt6-tools-dev-tools libgl-dev
对于 Qt 6.5 及更高版本,必须在运行时安装 libxcb-cursor0
软件包。
此外,为了支持现代桌面环境的 Wayland 协议:
sudo apt install qt6-wayland
除非显式禁用此功能,否则 GUI 将能够将地址编码为 QR 码。要安装 libqrencode,请运行:
sudo apt-get install libqrencode-dev
否则,如果你不需要 QR 编码支持,请使用 -DWITH_QRENCODE=OFF
选项禁用此功能,以便编译 GUI。
构建要求:
sudo dnf install gcc-c++ cmake make python3
现在,你可以从自行编译的 depends 构建,也可以安装所需的依赖项:
sudo dnf install libevent-devel boost-devel
描述符钱包需要 SQLite:
sudo dnf install sqlite-devel
要构建不带钱包的 Bitcoin Core,请参阅禁用钱包模式
启用 ZMQ 的二进制文件使用 -DWITH_ZMQ=ON
编译,并且需要以下依赖项:
sudo dnf install zeromq-devel
用户空间,静态定义跟踪 (USDT) 依赖项:
sudo dnf install systemtap-sdt-devel
启用 IPC 的二进制文件使用 -DENABLE_IPC=ON
编译,并且需要以下依赖项。如果不需要 IPC 功能,请跳过。
sudo dnf install capnproto
GUI 依赖项:
Bitcoin Core 包含一个使用跨平台 Qt 框架构建的 GUI。要编译 GUI,我们需要安装 Qt 的必要部分,libqrencode 和传递 -DBUILD_GUI=ON
。如果你不打算使用 GUI,请跳过。
sudo dnf install qt6-qtbase-devel qt6-qttools-devel
对于 Qt 6.5 及更高版本,必须在运行时安装 xcb-util-cursor
软件包。
此外,为了支持现代桌面环境的 Wayland 协议:
sudo dnf install qt6-qtwayland
除非显式禁用此功能,否则 GUI 将能够将地址编码为 QR 码。要安装 libqrencode,请运行:
sudo dnf install qrencode-devel
否则,如果你不需要 QR 编码支持,请使用 -DWITH_QRENCODE=OFF
选项禁用此功能,以便编译 GUI。
有关完整的概述,请参阅 dependencies.md,以及 depends 如何自行编译它们,如果你不想使用你的 Linux 发行版的软件包。
当意图仅运行 P2P 节点而不使用钱包时,可以使用以下命令在禁用钱包模式下编译 Bitcoin Core:
cmake -B build -DENABLE_WALLET=OFF
在这种情况下,不依赖于 SQLite。
也可以在禁用钱包模式下使用 getblocktemplate
RPC 调用进行挖矿。
可以使用以下命令显示其他配置标志的列表:
cmake -B build -LH
此示例列出了在 Arch Linux 上设置和构建最新更改的仅命令行发行版所需的步骤:
pacman --sync --needed cmake boost gcc git libevent make python sqlite
git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin/
cmake -B build
cmake --build build
ctest --test-dir build
./build/bin/bitcoind
./build/bin/bitcoin help
- 原文链接: github.com/bitcoin/bitco...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!