macOS 构建指南
本指南描述了如何在 macOS 上构建 bitcoind、命令行实用程序和 GUI。
准备工作
本指南中的命令应在终端应用程序中执行。
macOS 自带一个内置终端,位于:/Applications/Utilities/Terminal.app
1. Xcode 命令行工具
Xcode 命令行工具是 macOS 的构建工具集合。
必须安装这些工具才能从源代码构建 Bitcoin Core。
要安装,请从终端运行以下命令:xcode-select --install
运行命令后,你应该会看到一个弹出窗口。
单击“Install(安装)”以继续安装过程。
2. Homebrew 包管理器
Homebrew 是 macOS 的包管理器,允许人们从命令行轻松安装包。
虽然有几个包管理器可用于 macOS,但本指南将重点介绍 Homebrew,因为它是最流行的。
由于本指南中演练包安装的示例将使用 Homebrew,因此建议你安装它以进行后续操作。
否则,你可以将命令调整为你选择的包管理器。
要安装 Homebrew 包管理器,请参阅:
注意:如果你在安装 Homebrew 或拉取包时遇到问题,请参阅 。
3. 安装必需的依赖项
第一步是下载所需的依赖项。
这些依赖项表示启动并运行裸机安装所需的软件包。
有关完整的概述,请参见 。
要安装,请从你的终端运行以下命令:brew install cmake boost pkgconf libevent
4. 克隆 Bitcoin 仓库
git
默认情况下应已安装在你的系统上。
现在所有必需的依赖项都已安装,让我们将 Bitcoin Core 仓库克隆到目录中。
所有构建脚本和命令都将从此目录运行。git clone https://github.com/bitcoin/bitcoin.git
5. 安装可选依赖项
钱包依赖项
没有必要构建钱包功能来运行 bitcoind
或 bitcoin-qt
。
# 描述符钱包支持
需要 sqlite
来支持描述符钱包。
macOS 附带一个可用的 sqlite
包,这意味着你无需安装任何东西。
GUI 依赖项
# Qt
Bitcoin Core 包含一个使用跨平台 Qt Framework 构建的 GUI。要编译 GUI,我们需要安装
Qt、libqrencode 并传递 -DBUILD_GUI=ON
。如果你不打算使用 GUI,请跳过。brew install qt@6
注意:不正式支持使用从 Qt 网站下载的 Qt 二进制文件进行构建。
请参阅 中的注释。
# libqrencode
GUI 将能够对 QR 码中的地址进行编码,除非显式禁用此功能。要安装 libqrencode,请运行:brew install qrencode
否则,如果你不需要 QR 编码支持,则可以传递 -DWITH_QRENCODE=OFF
以禁用此功能。
ZMQ 依赖项
对 ZMQ 通知的支持需要以下依赖项。
如果你不需要 ZMQ 功能,请跳过。brew install zeromq
有关更多信息,请查看 部分。
有关 ZMQ 的更多信息,请参见:
IPC 依赖项
使用 -DENABLE_IPC=ON
编译启用 IPC 的二进制文件需要以下依赖项。
如果你不需要 IPC 功能,请跳过。brew install capnp
有关 IPC 的更多信息,请参见:。
测试套件依赖项
有一个包含的测试套件,可用于在开发时测试代码更改。
要运行测试套件(推荐),你需要安装 Python 3:brew install python
部署依赖项
你可以 包含 Bitcoin Core 应用程序的 .zip
。
你需要安装 python
和 zip
。
构建 Bitcoin Core
1. 配置
有很多方法可以配置 Bitcoin Core,这里有一些常见的例子:
# 钱包(仅 SQlite)和 GUI 支持:
这启用了 GUI。
如果未安装 sqlite
或 qt
,这将引发错误。cmake -B build -DBUILD_GUI=ON
# 没有钱包或 GUI
cmake -B build -DENABLE_WALLET=OFF
# 进一步配置
你可能需要深入研究配置选项以实现所需的行为。
检查以下命令的输出以获取配置选项的完整列表:cmake -B build -LH
2. 编译
配置完成后,你就可以编译了。
在你的终端中运行以下命令以编译 Bitcoin Core:cmake --build build # 在此处追加 "-j N" 以进行 N 个并行作业。 ctest --test-dir build # 追加 "-j N" 以进行 N 个并行测试。如果 Python 3 不可用,则某些测试将被禁用。
3. 部署(可选)
你还可以通过运行以下命令来创建包含 .app
捆绑包的 .zip
:cmake --build build --target deploy
运行Bitcoin Core
Bitcoin Core 现在应该在 ./build/bin/bitcoind
中可用。
如果你编译了对 GUI 的支持,它应该在 ./build/bin/bitcoin-qt
中可用。
在 ./build/bin/bitcoin
处也有一个多功能命令行界面,
支持诸如 bitcoin node
、bitcoin gui
、bitcoin rpc
以及其他可以通过 bitcoin help
列出的子命令。
首次运行 bitcoind
或 bitcoin-qt
时,它将开始下载区块链。
此过程可能需要数小时,甚至在低于平均水平的系统上需要数天。
默认情况下,区块链和钱包数据文件将存储在:/Users/${USER}/Library/Application Support/Bitcoin/
在运行之前,你可以创建一个空的配置文件:
```
mkdir -p "/Users/${USER}/Library/Application Support/Bitcoin"
touch "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
chmod 600 "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
```
你可以通过查看 debug.log 文件来监视下载过程:tail -f $HOME/Library/Application\ Support/Bitcoin/debug.log
其他命令:
./build/bin/bitcoind -daemon # 启动 bitcoin 守护程序。 ./build/bin/bitcoin-cli --help # 输出命令行选项的列表。 ./build/bin/bitcoin-cli help # 当守护程序正在运行时,输出 RPC 命令的列表。 ./build/bin/bitcoin-qt -server # 启动 bitcoin-qt 服务器模式,允许 bitcoin-cli 控制