购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.5
配置比特币核心节点

比特币核心在每次启动时都会在其数据目录中查找配置文件。在本节中,我们将检查各种配置选项,并设置配置文件。要找到配置文件,请在终端中运行bitcoind-printtoconsole命令,并查看前几行:

你可以在确定配置文件位置后,按Ctrl+C键来关闭节点。通常,配置文件位于用户主目录下的 .bitcoin 数据目录内。用你喜欢的编辑器打开配置文件。

比特币核心提供了100多个配置选项,这些选项可以调节网络节点的运行模式、区块链数据的存储方式以及其他核心操作参数。要查看这些选项的列表,请运行命令bitcoind--help:

以下是一些你可以在配置文件中设置的最重要选项,或者作为命令行参数传递给bitcoind:

alertnotify(警报通知)

执行特定命令或脚本,向该节点的所有者发送紧急警报。

conf(配置文件路径)

配置文件的备选位置。这只在作为命令行参数传递给bitcoind时才有意义,将它放在初始引用的配置文件内是无效的。

datadir(数据目录)

选择一个目录和文件系统来存放所有区块链数据。默认情况下,这会放在你主目录下的 .bitcoin 子目录中。根据你的配置,目前这将占用大约10GB到近1TB的存储空间,预计最大规模每年会增加数百吉字节。

prune(修剪)

通过删除旧的区块,将区块链的磁盘空间需求减少相应的字节。在资源受限的节点上可使用此方法,因为节点无法保存完整的区块链。系统的其他部分无法被修剪,仍会占用磁盘空间,因此你仍然至少需要datadir选项规定的最小存储容量。

txindex(区块链交易索引)

维护全量交易索引。这样你就可以通过交易ID快速检索任何交易,前提是包含该交易的区块没有被裁剪。

dbcache(数据库缓存)

UTXO缓存的大小,默认为450兆二进制字节(MiB)。在高性能服务器上可以增加这个值,以降低对磁盘的读写频率,或者在低性能服务器上减少缓存大小,以节省内存空间,但代价是会更频繁地读写磁盘。

blocksonly(只接收区块模式)

只接收来自对等节点的已确认交易区块,而不是转发未确认的交易,以减少带宽占用。

maxmempool(最大交易内存池)

限制交易内存池大小。内存受限节点可通过此方法减少内存占用。

交易数据库索引与txindex选项

默认情况下,比特币核心构建的数据库只包含与用户钱包相关的交易。如果你想使用getrawtransaction(参见3.6.2节)之类的命令访问任何交易,那么你需要通过txindex选项来配置比特币核心为全量交易索引模式。需要在比特币核心配置文件中设置txindex=1。如果你刚开始没有设置这个选项,而之后要设置为全量交易索引模式,则需要等待它重建索引。

示例3-1展示了如何将前面的选项与一个全量交易索引的节点结合起来,这个节点作为比特币应用程序的API后端运行。

示例3-1:全量索引节点的样本配置

示例3-2展示了一个资源受限节点运行在一台较小型的服务器上。

示例3-2:资源受限系统的样本配置

在你编辑配置文件并设置了最能代表你需求的选项后,你可以用这个配置来测试bitcoind。运行带有printtoconsole选项的比特币核心,以便在前台运行并将输出显示在控制台上:

当你确认程序正在按照预期加载正确的设置并运行时,可以按Ctrl+C来中断这一进程。

要将比特币核心作为后台进程运行,就需要用daemon选项启动它,即使用bitcoind-daemon命令。

要监控你的比特币节点的进度和运行时状态,请以守护进程模式启动节点,然后使用命令bitcoin-cli getblockchaininfo:

这展示了一个节点,其区块链高度为0个区块和83999个区块头。节点首先从网络节点处获取区块头,以找到拥有最多工作量证明的区块链,之后继续下载完整的区块,并在此过程中验证它们。

如果你对所选择的配置选项感到满意,就应该将比特币核心添加到操作系统中的启动脚本里,这样它就能持续运行,并能在操作系统重启时自动启动。你可以在比特币核心的源代码目录下的 contrib/init 文件夹中找到适用于各种操作系统的示范自启动脚本,以及一个 README.md 文件,用来显示哪个系统使用哪个脚本。 GT6pGusrb2qqToZw+KCcSt34b8tjm2sPWPo22SdPfCsgRb5BJ4vHOYQOsEr3FEiY

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开