เมื่อโหนดใหม่เข้าร่วมเครือข่าย 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}spacemeshstate.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 : แสดงคำสั่งที่เป็นประโยชน์สำหรับการรันแพ็คเกจ เกี่ยวข้องกับนักพัฒนา