当新节点加入 Spacemesh 网络时,它必须首先跟上其他节点的步伐。此过程称为“同步”,是运行完整节点或网格节点的先决条件。从历史上看,由于同步过程非常耗时,smesher 很难成功同步其节点。同步主要包括下载和独立验证所有区块、交易、ATX 以及其他一些数据,并从头开始重建当前状态。自然,这花费了普通施密者很多时间。因此,针对同步新节点日益困难的情况,我们准备了一种加快同步过程的方法。介绍一下,快速同步。
使用 Quicksync,无需执行上述所有同步操作并从创世开始计算网络状态,只需从受信任的对等方(如 Spacemesh 开发团队或其他节点)下载当前状态即可。虽然这与 web3 的“不信任,验证”理念背道而驰,但我们相信,考虑到同步问题的发生率很高,这可能是一些 smeshers 感兴趣的选择。此外,一旦下载,smesher 就可以在后台验证此状态。
下载的状态(也称为存档)采用 state.sql 文件的形式,可以使用 Smapp 自动下载,也可以使用quicksync-rs
实用程序手动下载。
下面给出了使用quicksync-rs
下载最新状态的说明。请注意,如果您使用最新版本的 Smapp,它将自动提供使用快速同步来获取最新状态。
quicksync-windows-vX.XXzip
。quicksync.exe
。quicksync.exe
移至您的spacemesh
文件夹。默认情况下,此文件夹位于: C:Users{USERNAME}spacemesh
。spacemesh
目录内,默认名称为node-data
)中看到state.sql
文件,请将其删除。否则,继续执行步骤 5。quicksync.exe
文件所在的spacemesh
目录中打开 Windows Powershell 终端。您可以通过按住“shift”键,右键单击并选择“在此处打开 Powershell”选项来完成此操作。.quicksync.exe --help
并按 Enter。这将向您显示可用的选项。.quicksync.exe download --node-data .node-data
。这里, .node-data
是节点数据文件夹的路径。quicksync-rs
实用程序将下载、解压缩并验证下载状态。state.sql
文件。 quicksync-linux-vX.XXzip
。quicksync
文件。quicksync
文件可执行: chmod +x quicksync
。现在您有了quicksync
可执行文件。quicksync
可执行文件移至spacemesh
目录(默认位于~/spacemesh
)。spacemesh
目录内,默认名称为node-data
)中看到state.sql
文件,请将其删除。否则,继续步骤 6。quicksync
可执行文件所在的spacemesh
目录中打开终端,然后运行以下命令: ./quicksync download --node-data ./node-data
。这里, ./node-data
是节点数据文件夹的路径。quicksync-rs
实用程序将下载、解压缩并验证下载状态。state.sql
文件。 quicksync-macos-vX.XXzip
(如果您有 M 系列 Mac,则下载quicksync-macos-arm64-vX.XXzip
)。quicksync
文件。quicksync
文件可执行: chmod +x quicksync
。现在您有了quicksync
可执行文件。quicksync
可执行文件移至spacemesh
目录。 (默认位于~/spacemesh
)。spacemesh
目录内,默认名称为node-data
)中看到state.sql
文件,请将其删除。否则,继续步骤 6。quicksync
可执行文件所在的spacemesh
目录中打开终端,然后运行以下命令: ./quicksync download --node-data ./node-data
。这里, ./node-data
是节点数据文件夹的路径。quicksync-rs
实用程序将下载、解压缩并验证下载状态。state.sql
文件。 下面列出了退出代码及其含义:
0
- 一切都好。1
- 无法在最大重试次数内下载存档(任何原因)。2
- 无法解压缩存档:磁盘空间不足。3
- 无法解压缩存档:任何其他原因。4
- 下载的state.sql
校验和无效。5
- 由于某种原因无法验证校验和。6
- 无法创建备份文件。7
- 存档校验和无效。8
- 无法验证存档校验和。还可以下载并应用基于增量的快速同步。假设state.sql
已经存在,值得考虑在其之上仅应用增量。请注意,使用完整快速同步同步大部分内容会更快,但如果您已经同步并且只需要赶上最新状态,则增量快速同步是最佳选择。
增量快速同步的工作原理是检查数据库中最新的已验证层,然后下载小文件(通常约为 50MB,但最多 200MB)并将其应用到现有的state.sql
之上。每个批次都可以中断。
两次恢复同一批次被视为无操作,不会影响数据库。
下面列出了quicksync
实用程序的可用命令列表。请注意,这些命令适用于 Linux。只需将 Windows 命令的./quicksync
更改为.quicksync.exe
即可。
./quicksync download
:下载最新的state.sql
文件。./quicksync check
:检查当前state.sql
是否是最新的。./quicksync help
:显示quicksync
可以执行的所有操作。./quicksync incremental
:允许使用基于增量的快速同步。./quicksync --version
:显示快速同步版本。cargo run -- help
:显示运行包的有用命令。与开发人员相关。