เมื่อโหนดใหม่เข้าร่วมเครือข่าย Spacemesh โหนดนั้นจะต้องเร่งความเร็วให้กับเพื่อนคนอื่นๆ ก่อน กระบวนการนี้เรียกว่า "การซิงค์" และเป็นข้อกำหนดเบื้องต้นในการรันโหนดแบบเต็มหรือโหนดที่เสียหาย ในอดีต เป็นเรื่องยากสำหรับ smeshers ที่จะซิงค์โหนดของตนได้สำเร็จ เนื่องจากกระบวนการซิงค์ใช้เวลานาน โดยพื้นฐานแล้ว การซิงค์จะรวมถึงการดาวน์โหลดและการตรวจสอบบล็อก ธุรกรรม ATX ทั้งหมด รวมถึงข้อมูลอื่นๆ บางส่วนอย่างอิสระ และสร้างโครงสร้างสถานะปัจจุบันใหม่ตั้งแต่ต้น โดยธรรมชาติแล้วสิ่งนี้ต้องใช้เวลาโดยเฉลี่ยมาก ด้วยเหตุนี้ เพื่อตอบสนองต่อความยากลำบากที่เพิ่มขึ้นในการซิงค์โหนดใหม่ เราได้เตรียมวิธีเพื่อเร่งกระบวนการซิงค์ให้เร็วขึ้น ขอแนะนำ Quicksync
ด้วย Quicksync แทนที่จะดำเนินการซิงค์ทั้งหมดตามที่ระบุไว้ข้างต้นและคำนวณสถานะเครือข่ายตั้งแต่กำเนิด เราเพียงแค่ต้องดาวน์โหลดสถานะปัจจุบันจากเพียร์ที่เชื่อถือได้ เช่น ทีมพัฒนา Spacemesh หรือโหนดอื่นๆ แม้ว่าสิ่งนี้จะขัดแย้งกับปรัชญาของ web3 ที่ว่า "อย่าเชื่อถือ ตรวจสอบ" แต่เราเชื่อว่านี่อาจเป็นทางเลือกที่ผู้ smeshers บางคนอาจสนใจ เนื่องจากปัญหาในการซิงค์มีอัตราสูง ยิ่งไปกว่านั้น ไม่มีอะไรขัดขวาง Smesher จากการตรวจสอบสถานะนี้ในเบื้องหลังเมื่อดาวน์โหลดแล้ว
สถานะ (หรือที่เรียกว่าไฟล์เก็บถาวร) ที่ถูกดาวน์โหลดจะอยู่ในรูปแบบของไฟล์ state.sql และสามารถดาวน์โหลดได้โดยอัตโนมัติโดยใช้ Smapp หรือด้วยตนเองโดยใช้ยูทิลิตี quicksync-rs
คำแนะนำในการใช้ quicksync-rs
เพื่อดาวน์โหลดสถานะล่าสุดมีดังต่อไปนี้ โปรดทราบว่าหากคุณใช้ Smapp เวอร์ชันล่าสุด ระบบจะเสนอให้ใช้ Quicksync เพื่อดึงข้อมูลสถานะล่าสุดโดยอัตโนมัติ
quicksync-windows-vX.XXzip
รุ่นล่าสุดจากส่วนรุ่น GitHubquicksync.exe
ออกจากไฟล์ zip ที่ดาวน์โหลดในขั้นตอนที่ 1quicksync.exe
ไปยังโฟลเดอร์ spacemesh
ของคุณ ตามค่าเริ่มต้น โฟลเดอร์นี้จะอยู่ที่: C:Users{USERNAME}spacemesh
state.sql
ในโฟลเดอร์ข้อมูลโหนดของคุณ (อยู่ภายในไดเร็กทอรี spacemesh
และตั้งชื่อว่า node-data
ตามค่าเริ่มต้น) ให้ลบออก มิฉะนั้น ให้ทำตามขั้นตอนที่ 5 ต่อไปspacemesh
ซึ่งมีไฟล์ quicksync.exe
คุณสามารถทำได้โดยกดปุ่ม "shift" ค้างไว้ คลิกขวา แล้วเลือกตัวเลือก "Open Powershell here".quicksync.exe --help
แล้วกด Enter นี่จะแสดงตัวเลือกที่มีให้คุณ.quicksync.exe download --node-data .node-data
ที่นี่ .node-data
คือเส้นทางไปยังโฟลเดอร์ข้อมูลโหนดquicksync-rs
จะดาวน์โหลด แตกไฟล์ และตรวจสอบสถานะการดาวน์โหลดstate.sql
ล่าสุด quicksync-linux-vX.XXzip
รุ่นล่าสุดจากส่วนรุ่น GitHubquicksync
ออกจากไฟล์ zip ที่ดาวน์โหลดในขั้นตอนที่ 1quicksync
เรียกใช้งานได้โดยใช้คำสั่ง CLI นี้: chmod +x quicksync
ตอนนี้คุณมีไฟล์ปฏิบัติการ quicksync
แล้วquicksync
ไปยังไดเร็กทอรี spacemesh
(อยู่ที่ ~/spacemesh
ตามค่าเริ่มต้น)state.sql
ในโฟลเดอร์ข้อมูลโหนดของคุณ (อยู่ภายในไดเร็กทอรี spacemesh
และตั้งชื่อว่า node-data
ตามค่าเริ่มต้น) ให้ลบออก มิฉะนั้น ให้ทำตามขั้นตอนที่ 6 ต่อไปspacemesh
ซึ่งมีไฟล์ปฏิบัติการ quicksync
และรันคำสั่งนี้: ./quicksync download --node-data ./node-data
ที่นี่ ./node-data
คือเส้นทางไปยังโฟลเดอร์ข้อมูลโหนดquicksync-rs
จะดาวน์โหลด แตกไฟล์ และตรวจสอบสถานะการดาวน์โหลดstate.sql
ล่าสุด quicksync-macos-vX.XXzip
รุ่นล่าสุด (หรือ quicksync-macos-arm64-vX.XXzip
หากคุณมี Mac รุ่น M) จากส่วนการเผยแพร่ GitHubquicksync
ออกจากไฟล์ zip ที่ดาวน์โหลดในขั้นตอนที่ 1quicksync
เรียกใช้งานได้โดยใช้คำสั่ง CLI นี้: chmod +x quicksync
ตอนนี้คุณมีไฟล์ปฏิบัติการ quicksync
แล้วquicksync
ไปยังไดเร็กทอรี spacemesh
(อยู่ที่ ~/spacemesh
โดยค่าเริ่มต้น)state.sql
ในโฟลเดอร์ข้อมูลโหนดของคุณ (อยู่ภายในไดเร็กทอรี spacemesh
และตั้งชื่อว่า node-data
ตามค่าเริ่มต้น) ให้ลบออก มิฉะนั้น ให้ทำตามขั้นตอนที่ 6 ต่อไปspacemesh
ซึ่งมีไฟล์ปฏิบัติการ quicksync
และรันคำสั่งนี้: ./quicksync download --node-data ./node-data
ที่นี่ ./node-data
คือเส้นทางไปยังโฟลเดอร์ข้อมูลโหนดquicksync-rs
จะดาวน์โหลด แตกไฟล์ และตรวจสอบสถานะการดาวน์โหลดstate.sql
ล่าสุด รายการด้านล่างนี้คือรหัสทางออกและความหมาย:
0
- ทุกอย่างดี1
- ไม่สามารถดาวน์โหลดไฟล์เก็บถาวรภายในการลองใหม่สูงสุด (ด้วยเหตุผลใดก็ตาม)2
- ไม่สามารถแตกไฟล์เก็บถาวรได้: พื้นที่ดิสก์ไม่เพียงพอ3
- ไม่สามารถแตกไฟล์เก็บถาวรได้: เหตุผลอื่นใด4
- การตรวจสอบ state.sql
ที่ดาวน์โหลดไม่ถูกต้อง5
- ไม่สามารถตรวจสอบผลรวมตรวจสอบได้ด้วยเหตุผลบางประการ6
- ไม่สามารถสร้างไฟล์สำรองได้7
- การตรวจสอบผลรวมของไฟล์เก็บถาวรไม่ถูกต้อง8
- ไม่สามารถตรวจสอบผลรวมการตรวจสอบการเก็บถาวรได้ นอกจากนี้ยังสามารถดาวน์โหลดและใช้ Quicksync แบบเดลต้าได้อีกด้วย สมมติว่า state.sql
มีอยู่แล้ว ก็คุ้มค่าที่จะพิจารณาใช้เฉพาะส่วนเดลต้านอกเหนือจากนั้น โปรดทราบว่าการซิงค์ส่วนใหญ่จะเร็วขึ้นด้วย Quicksync เต็มรูปแบบ แต่ถ้าคุณซิงค์แล้วและเพียงต้องตามให้ทันสถานะล่าสุด Quicksync แบบเพิ่มทีละน้อยคือหนทางที่จะไป
Quicksync แบบเพิ่มหน่วยทำงานโดยการตรวจสอบเลเยอร์ที่ได้รับการตรวจสอบล่าสุดในฐานข้อมูล จากนั้นดาวน์โหลดไฟล์ขนาดเล็ก (โดยปกติจะอยู่ที่ประมาณ 50MB แต่สูงถึง 200MB) และนำไปใช้กับ state.sql
ที่มีอยู่ แต่ละชุดสามารถถูกขัดจังหวะได้
การกู้คืนแบตช์เดียวกันสองครั้งจะถือว่าไม่ต้องดำเนินการและจะไม่ส่งผลกระทบต่อฐานข้อมูล
รายการคำสั่งที่ใช้ได้สำหรับยูทิลิตี quicksync
มีดังต่อไปนี้ โปรดทราบว่าคำสั่งเหล่านี้ใช้สำหรับ Linux เพียงเปลี่ยน ./quicksync
เป็น .quicksync.exe
สำหรับคำสั่ง Windows
./quicksync download
: ดาวน์โหลดไฟล์ state.sql
ล่าสุด./quicksync check
: ตรวจสอบว่า state.sql
ปัจจุบันเป็นปัจจุบันหรือไม่./quicksync help
: แสดงการทำงานทั้งหมดที่ quicksync
สามารถทำได้./quicksync incremental
: อนุญาตให้ทำงานกับ Quicksync แบบเดลต้า./quicksync --version
: แสดงเวอร์ชัน Quicksynccargo run -- help
: แสดงคำสั่งที่เป็นประโยชน์สำหรับการรันแพ็คเกจ เกี่ยวข้องกับนักพัฒนา