如何在macOS上构建Bitcoin Core?

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. 安装可选依赖项

钱包依赖项

没有必要构建钱包功能来运行 bitcoindbitcoin-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
你需要安装 pythonzip

构建 Bitcoin Core

1. 配置

有很多方法可以配置 Bitcoin Core,这里有一些常见的例子:

# 钱包(仅 SQlite)和 GUI 支持:

这启用了 GUI。
如果未安装 sqliteqt,这将引发错误。
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 nodebitcoin guibitcoin rpc 以及其他可以通过 bitcoin help 列出的子命令。  

首次运行 bitcoindbitcoin-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 控制

标签:

上一篇:如何在比特币上使用Ordinals和Runes API构建应用?
下一篇:代币化股票:区块链重塑金融参与