准备工作
为了搭建全节点,你需要提前准备好这几样东西:
- 一个至少 2TB 容量的 SSD 移动固态硬盘
- 一个稳定的梯子
- 一台电脑
截止到2023年3月,比特币全节点的占用空间为464GB,并且每个月都会增加5-10GB,因此你需要一块容量足够的硬盘,这不只是为了满足当前的需求,我们还要为未来几年预留空间。2TB 的 SSD 硬盘价格现在已经很便宜了,请不要考虑 HDD 机械硬盘,亲测读写速度感人。在同步区块这种需要高频读写的操作中,同步所需时间能轻松飙到几个星期甚至更长,慢到你怀疑人生。
下载比特币核心客户端(Bitcoin Core)
首先,你需要下载比特币核心客户端并安装在你的计算机上。这个软件可以从比特币官网上下载 https://bitcoin.org/en/download :
- 在左侧,选择对应的操作系统,用什么系统就下载什么版本。
- 在页面的右侧,点击 “Verify release signatures”,浏览器会下载一个名为 ”SHA256SUM.asc” 的文件,这个后面会用到。
验证签名和客户端安装包
接下来,我们要验证「签名」和「客户端」的真伪,许多人会掉以轻心。但严谨起见,我们应当确保自己下载的安装包没有被篡改,货真价实。如果你不是技术控,可以跳过这一章节。
1)验证签名
访问 Bitcoin Core 网页,你可以清楚地看到,Bitcoin Core 0.11 及以后的版本的安装包都是由 Wladimir J. van der Laan 的发布密钥签名的。下面的教程我会以 macOS 为例,其他系统的设置基本通用。
复制这串 PGP 指纹:
01EA 5486 DE18 A882 D4C2 6845 90C8 019E 36C2 E964
打开你的电脑终端。
- macOS 用户,敲击 CTRL + 空格键,唤出 Spotlight,输入 terminal,打开终端。
- Windows 用户,敲击 Windows + R 键,打开运行窗口,输入 wt,打开终端。
在终端中,键入如下代码,导入 PGP 公钥。
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 01EA5486DE18A882D4C2684590C8019E36C2E964
接下来,在终端中通过 gpg –verify 命令来验证 PGP 签名。
gpg --verify 你的SHA256SUMS.asc路径
实用技巧:直接将您的文件拖拽入终端,它会自动补全路径。
然后敲击回车,如果一切顺利,你会看到 Good signature from “Wladimir J. van der Laan“ 字样,证明这的确是 Bitcoin Core 核心开发者 Wladimir 的签名,验证成功。
2)验证安装包
前往https://bitcoin.org/en/download ,找到你刚才下载的安装包的版本,这里以 Bitcoin Core 22.0 举例。根据下方图示,找到 SHA256SUMS 文件并并载。这个文件里就包含了当前版本所有平台的 SHA256 签名信息。
下载好后,在终端中使用如下指令验证安装包。
- macOS:shasum -a256 你的安装包路径
- Linux:sha256sum 你的安装包路径
- Windows: certUtil -hashfile 你的安装包路径 SHA256
你可以直接把安装包丢入终端,它会自动补全路径。敲击回车,这时候你可以看到出现一串字符,将这串字符与 SHA256SUMS 文件内容比对,你会发现版本、签名信息一致。
至此,安装包验证完毕。
安装客户端
是不是对刚才「签名」和「安装包」的验证感到心烦意乱?
这很正常,安全总是要付出一些代价的。
接下来,我们开始安装客户端。
- 打开下载好的 DMG 安装包,将 Bitcoin Core 程序拖拽到你的应用程序文件夹中。
- WIndows 用户双击 .exe 安装程序,按提示一路操作即可。
初次启动客户端,你需要指定区块的存储位置。
这里我们选择 “Use a custom data directory”,并指定你的移动硬盘作为路径。
至于为什么不使用默认路径作为区块的存储位置,是因为电脑容量有限且昂贵;移动硬盘则更灵活,即插即用,即便有一天你换了电脑,也可以无缝将比特币区块同步过去。
安装好后,打开 Bitcoin Core。你会看到如图所示的界面,此时应用程序会自动开始同步区块。
在正式同步之前,我们还需要做如下设置:
- 去掉 Prune block 选项(我们需要同步所有比特币网络的区块,修建区块则达不到这个目的)
- 勾选 Enable RPC server
- 打开配置文件,在文件中输入 txindex=1 (这会要求客户端从第一个TX开始索引,进而确保所有区块索引有效)
同步比特币区块
这个过程是漫长的,做到以下几点,可以极大提升速度:
- 如果你在中国大陆,确保你的梯子打开全局模式
- 确保你的梯子流量足够,整个同步过程会消耗大约500GB流量。
- 选择响应更快的梯子节点,比如临近的香港、台湾节点。
- 同步过程中,强制让电脑不要休眠,不然同步可能被中断。
- 推荐 macOS 用户使用 Amphetamin 这款免费的应用来保持电脑清醒,直到同步完成。
根据一些朋友的测试数据,正常情况下,同步所有区块会花费6-12小时,如果你的区块同步时间长达一星期甚至更久,要么是网络有问题,要么是硬度的读写速度太慢。
大功告成
当你看到如图所示界面时,证明所有区块已经同步完毕。
现在你可以尽享全节点的好处了,比如以最低的成本铸造自己的 Ordinals NFT、更好的交易隐私等等…
我会在以后的教程中展开,辛苦了,Enjoy。
请问同步完之后怎么使用命令行来查看下载的数据啊?
验证签名为什么一直出现这个呀
gpg: 没有已签名的数据
gpg: can’t hash datafile: 无数据
一样……
没有Enable RPC server是正常的吗?
大佬,我的macstudio按照您的方法pgp验证没有现实呢?求大神指教
显示:zsh: command not found: gpg
请问大神这是什么意思
gpg –verify /Users/heyuqi/Downloads/SHA256SUMS.asc 报错
gpg: 没有已签名的数据
gpg: can’t hash datafile: 无数据
现在验证签名方式改了,详情看https://bitcoincore.org/en/download/
没有 Enable RPC server是正常的吗?
[…] 如何搭建 Bitcoin Core 比特币全节点 […]