在 Ubuntu 22.04 上搭建 Bitcoin Core 节点

February 17, 2024 4 min read

在 Ubuntu 22.04 上搭建 Bitcoin Core 节点主要有三种方式:Snap 安装(最简单)、PPA 源安装、以及官方二进制文件安装(最推荐,符合“不信任,去验证”的精神)。

下面将介绍最标准、最通用的官方二进制文件安装方法,并包含如何配置系统服务以便开机自启。


⚠️ 硬件要求

  • 存储空间
    • 全节点 (Full Node):需要 600GB+ 的磁盘空间(强烈推荐 SSD,同步速度比机械硬盘至少快 5 倍),因为区块链数据在不断增长。
    • 修剪节点 (Pruned Node):如果你只有少量空间,可以在配置中开启修剪模式,最低仅需约 10GB
  • 内存 (RAM):建议 4GB 或以上(2GB 也可以跑,但需要配置 swap)。
  • 网络:该过程会下载大量数据,请确保没有流量限制。

第一步:系统更新与安装依赖

首先,确保你的 Ubuntu 系统是最新的,并安装必要的工具。

sudo apt update && sudo apt upgrade -y
sudo apt install wget tar gnupg -y

第二步:下载 Bitcoin Core

前往 Bitcoin Core 官方网站下载最新版本。

  1. 访问 bitcoincore.org/bin 查看最新版本(截至 2024 年,通常是 v26.x 或 v27.x)。
  2. 在终端中下载(以下以 v27.0 为例,请根据实际最新版本修改数字):
# 创建一个临时目录
cd ~
mkdir bitcoin-install
cd bitcoin-install

# 下载安装包 (请自行替换为最新版本号)
wget https://bitcoincore.org/bin/bitcoin-core-27.0/bitcoin-27.0-x86_64-linux-gnu.tar.gz

# 下载签名文件 (用于验证安全性)
wget https://bitcoincore.org/bin/bitcoin-core-27.0/SHA256SUMS
wget https://bitcoincore.org/bin/bitcoin-core-27.0/SHA256SUMS.asc

第三步:验证签名(强烈推荐)

为了防止下载到被篡改的恶意软件,应该验证签名。

# 1. 验证 SHA256 校验和是否匹配
sha256sum --ignore-missing -c SHA256SUMS

# 如果输出 "bitcoin-27.0-x86_64-linux-gnu.tar.gz: OK",则文件完整。

# 2. (可选但推荐) 验证 GPG 签名
# 获取构建者的公钥 (Guix 构建密钥)
git clone https://github.com/bitcoin-core/guix.sigs
gpg --import guix.sigs/builder-keys/*

# 验证
gpg --verify SHA256SUMS.asc

如果看到 “Good signature” 字样,说明文件是官方发布的。

第四步:安装 Bitcoin Core

解压并将二进制文件移动到系统路径。

# 解压
tar xzf bitcoin-27.0-x86_64-linux-gnu.tar.gz

# 安装到 /usr/local/bin
sudo install -m 0755 bitcoin-27.0/bin/* /usr/local/bin/

# 验证安装
bitcoind --version

第五步:配置 Bitcoin Core

虽然可以直接运行,但建议创建一个配置文件。

  1. 创建数据目录(默认是 ~/.bitcoin):

    mkdir ~/.bitcoin
    
  2. 编辑配置文件

    nano ~/.bitcoin/bitcoin.conf
    
  3. 粘贴以下配置(根据你的需求修改):

    # 在后台运行
    daemon=1
    
    # 监听端口 (默认 8333)
    server=1
    
    # 允许 RPC 连接 (如果不需要控制台控制,可以不加)
    # rpcuser=你的用户名
    # rpcpassword=你的强密码
    
    # === 磁盘空间优化选项 (二选一) ===
    
    # 选项 A: 全节点 (保存所有历史数据,需要 600GB+)
    # txindex=1  # 如果你需要查询任意历史交易,开启此项
    
    # 选项 B: 修剪节点 (仅保存最近数据,节省空间)
    # prune=5000  # 仅保留最近 5000MB (5GB) 的数据,旧数据自动删除
    
    # 限制数据库缓存大小 (根据你的 RAM 调整,单位 MB)
    dbcache=2000
    

    Ctrl+O 保存,Ctrl+X 退出。

第六步:配置 Systemd 服务(实现开机自启)

为了让 Bitcoin Core 在后台稳定运行并随系统启动,我们需要创建一个 systemd 服务文件。

  1. 创建服务文件

    sudo nano /etc/systemd/system/bitcoind.service
    
  2. 粘贴以下内容(注意修改 UserGroup 为你的当前用户名):

    [Unit]
    Description=Bitcoin daemon
    After=network.target
    
    [Service]
    # 修改为你的 Ubuntu 用户名 (例如: ubuntu 或 root)
    User=ubuntu
    Group=ubuntu
    
    Type=forking
    ExecStart=/usr/local/bin/bitcoind -daemon -conf=/home/ubuntu/.bitcoin/bitcoin.conf -pid=/home/ubuntu/.bitcoin/bitcoind.pid
    
    # 确保 PID 文件路径与上面一致
    PIDFile=/home/ubuntu/.bitcoin/bitcoind.pid
    
    Restart=on-failure
    # 给足够的时间让 bitcoin core 关闭(因为需要写入磁盘)
    TimeoutStopSec=600
    
    [Install]
    WantedBy=multi-user.target
    

    (注意:请将路径中的 /home/ubuntu/ 替换为你实际用户的主目录路径)

  3. 启动服务

    # 重载配置
    sudo systemctl daemon-reload
    
    # 开启开机自启
    sudo systemctl enable bitcoind
    
    # 立即启动
    sudo systemctl start bitcoind
    

第七步:检查运行状态

  1. 查看服务状态

    sudo systemctl status bitcoind
    

    如果显示 active (running),说明节点已启动。

  2. 查看同步进度: 使用 bitcoin-cli 命令查看区块链信息:

    bitcoin-cli getblockchaininfo
    

    关注输出中的 "verificationprogress"。当它接近 0.999... 时,表示同步完成。 注意:IBD (Initial Block Download,首次区块下载) 可能需要几天时间,具体取决于你的硬盘速度和网速。

  3. 查看实时日志

    tail -f ~/.bitcoin/debug.log
    

第八步:网络配置(可选)

如果你希望帮助比特币网络,让其他节点可以连接并下载数据,你需要打开防火墙端口 8333

sudo ufw allow 8333/tcp

注意:如果你在家用路由器后面,还需要在路由器上设置 端口转发 (Port Forwarding),将 8333 端口映射到这台 Ubuntu 服务器的 IP。


简易替代方案:Snap 安装

如果你觉得上述步骤太麻烦,Ubuntu 支持一键 Snap 安装(但不推荐用于生产环境或高安全性需求):

sudo snap install bitcoin-core
# 启动
bitcoin-core.daemon

常见问题

  1. 磁盘满了怎么办? 如果没开修剪模式导致磁盘满了,你需要停止服务,在 bitcoin.conf 中添加 prune=5000,然后删除 blockschainstate 文件夹重新同步(或者尝试直接重启,有时它能自动处理,但重新同步最稳妥)。
  2. 内存溢出 (OOM)? 如果系统 RAM 小于 4GB,Bitcoin 可能会被系统杀掉。请减小 dbcache 的值(例如 dbcache=500)。