当新节点加入 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 :显示运行包的有用命令。与开发人员相关。