跳到主要内容

裁剪模式

使用裁剪模式节约存储空间。

裁剪模式是一种允许用户减少 MVC 节点所需的存储空间的功能。它在确保节点在处理和验证新交易方面仍然可以完全运行的前提下,通过选择性地删除未来操作不需要的旧区块链数据来节约存储资源。

工作原理

全量区块链:通常情况下,MVC 网络上的全节点会下载并存储整个区块链,其中包含了每一笔交易。这需要大量的存储空间,随着时间的推移,随着更多的交易被添加到区块链中,存储需求也会增加。

裁剪模式:当启用裁剪模式时,节点将下载整个区块链,但只保留运行所需的最新数据。这意味着旧区块被丢弃或“裁剪”出存储空间。具体来说,只保留区块头和与节点操作相关的交易(如与节点钱包相关的交易)。

功能:尽管裁剪了旧区块,节点仍然可以验证新的交易和区块,并提供到其保留的最后几个区块的区块链数据。它通过确保保留区块头和区块链的最新状态来实现这一点,这对于验证新的交易和区块是必要的。

优势:裁剪的主要优势是减少运行 MVC 节点所需的存储空间,使其对存储能力有限的用户更加可访问。这有助于维护网络的去中心化,因为更多的用户可以运行节点而不必面对高昂的存储成本。

代价:尽管裁剪减少了存储需求,但裁剪的节点无法提供存储限制之外的历史区块链数据,这意味着它无法为其他节点的历史数据请求做出贡献。这是存储效率和完整历史数据可用性之间的权衡。

裁剪是一个对于希望参与 MVC 网络的个人用户或小型组织而言非常有用的功能,他们希望在不投入大量存储资源的情况下参与 MVC 网络。它有助于保持节点在所有必要用途上的运行,同时有效地管理资源。

如何启用裁剪模式

选项 A:使用配置文件

  1. 打开 MVC 节点的配置文件。配置文件的默认位置是 ~/.mvc/mvc.conf
  2. 在配置文件中添加以下行:
prune=<n>

将n替换为您要为区块链数据存储分配的兆字节数。例如,要分配1 GB的存储空间,您可以设置prune=1000。有关更多信息,请参见启动命令参数

选项 B:使用启动命令

当启动 MVC 节点时,您可以直接在启动命令中指定裁剪模式。使用以下命令:

mvcd -prune=<n>

将n替换为您要为区块链数据存储分配的兆字节数。例如,要分配1 GB的存储空间,您可以使用mvcd -prune=1000。有关更多信息,请参见启动命令参数

选项 C:使用 MVC-CLI

您可以使用 MVC-CLI 工具裁剪区块链数据。使用以下命令:

mvc-cli pruneblockchain <n>

将n替换为您要裁剪区块链数据的区块高度。例如,要裁剪到区块高度500,您可以使用mvc-cli pruneblockchain 500。有关更多信息,请参见MVC-CLI Blockchain

如何确认裁剪模式正常工作

存储区块链数据的数据文件夹位于 ${YOUR_MVC_DATA_PATH}/blocks。您可以检查此文件夹的大小,以确认裁剪模式是否按预期工作。如果 blocks 文件夹的大小在裁剪限制内,这表明节点正在成功裁剪旧的区块链数据。

通常情况下,如果裁剪模式正常工作,blocks 文件夹的大小不应超过裁剪的限制。您将看到 blkxxxx.dat 不连续,这意味着一些区块已被裁剪。