在 Ubuntu 22.04 上搭建 Bitcoin Core 节点
在 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 官方网站下载最新版本。
- 访问 bitcoincore.org/bin 查看最新版本(截至 2024 年,通常是 v26.x 或 v27.x)。
- 在终端中下载(以下以 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
虽然可以直接运行,但建议创建一个配置文件。
-
创建数据目录(默认是
~/.bitcoin):mkdir ~/.bitcoin -
编辑配置文件:
nano ~/.bitcoin/bitcoin.conf -
粘贴以下配置(根据你的需求修改):
# 在后台运行 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 服务文件。
-
创建服务文件:
sudo nano /etc/systemd/system/bitcoind.service -
粘贴以下内容(注意修改
User和Group为你的当前用户名):[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/替换为你实际用户的主目录路径) -
启动服务:
# 重载配置 sudo systemctl daemon-reload # 开启开机自启 sudo systemctl enable bitcoind # 立即启动 sudo systemctl start bitcoind
第七步:检查运行状态
-
查看服务状态:
sudo systemctl status bitcoind如果显示
active (running),说明节点已启动。 -
查看同步进度: 使用
bitcoin-cli命令查看区块链信息:bitcoin-cli getblockchaininfo关注输出中的
"verificationprogress"。当它接近0.999...时,表示同步完成。 注意:IBD (Initial Block Download,首次区块下载) 可能需要几天时间,具体取决于你的硬盘速度和网速。 -
查看实时日志:
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
常见问题
- 磁盘满了怎么办?
如果没开修剪模式导致磁盘满了,你需要停止服务,在
bitcoin.conf中添加prune=5000,然后删除blocks和chainstate文件夹重新同步(或者尝试直接重启,有时它能自动处理,但重新同步最稳妥)。 - 内存溢出 (OOM)?
如果系统 RAM 小于 4GB,Bitcoin 可能会被系统杀掉。请减小
dbcache的值(例如dbcache=500)。