前言:为什么要自己编译比特币钱包?

最近我对比特币钱包的兴趣越来越浓,发现市面上的钱包虽然多,但大多都是封闭的,不够灵活。有些钱包在功能上不太符合我的需求,或者存在隐私问题。于是我决定尝试自己编译一个比特币钱包。在这个过程中,我发现其实并不难,特别是对 Mac 用户来说。今天就来和大家分享一下我的经验吧。

准备工作:确保环境整洁

首先,上手之前,我们得确保工作环境干净整洁。我在这里建议大家使用 Homebrew,这是一款 macOS 下的软件包管理工具,可以帮助我们快速安装各种开发工具。确保你的 Mac 上已经安装了 Homebrew,如果没有,可以很快通过以下命令安装:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完毕后,可以通过以下命令更新 Homebrew:

brew update

接下来,我们需要安装一些依赖工具,我在编译之前,首先安装了以下几个:Git 和 CMake。

brew install git cmake

获取比特币钱包源码

接下来就是获取比特币钱包的源码了。比特币的官方钱包代码托管在 GitHub 上,可以通过以下命令克隆下来:

git clone https://github.com/bitcoin/bitcoin.git

这里值得注意的是,你可以选择特定版本的源码,如果你想编译最新的版本,可以直接切换到 master 分支,不过我建议使用一个稳定的版本。例如:

git checkout v22.0

在克隆的过程中,我的网络有点慢,克隆的时间稍微长了点,不过总比在官网下载来的快。

安装依赖库

接下来,我们需要安装一些库,这些都是钱包编译所需的依赖项。我用了一个稍微复杂的命令来一次性安装这些依赖:

brew install boost openssl libevent miniupnpc QRCodeGenerator libtool autotools pkg-config

这一步可以稍微捉襟见肘,因为不同的库可能在你电脑上已经安装,系统会提醒你跳过。只要保证你有这些库的基础功能就可以了。如果有不明白的,随便问问我。

编译比特币钱包

接下来是重头戏了,编译钱包的过程就像是做一顿大餐,稍微不留神可能就烤焦了。首先,进入到你克隆下来的比特币代码目录:

cd bitcoin

然后我们创建一个构建目录,这样可以让代码干净地编译:

mkdir build