當一個新節點加入 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
:顯示運行包的有用指令。與開發人員相關。