Sebuah node arsip Dusk bisa terkejar di ujung rantai (chain tip) tetapi tetap tidak memiliki riwayat yang saya butuhkan untuk mengkredit setoran lama.

Jerumusannya ada pada jalur bootstrap. Archive Rusk menyimpan indeks-final yang digunakan oleh moonlightHistory, fullMoonlightHistory, dan finalizedEvents. Namun jika saya menjalankan node dari snapshot download_state yang diunduh penginstal, saya memulihkan state eksekusi, bukan indeks arsip untuk blok-blok sebelum snapshot tersebut.

Jadi “synced” bukanlah pengecekan kesiapan yang saya pedulikan.

Untuk layanan setoran Moonlight, saya bisa melakukan kueri finalized history, mendapat respons yang bersih, dan tetap memiliki rentang yang buta di belakang batas snapshot. Kondisi state rantai saat ini sudah berjalan. Pengingesan historis saya tidak. Backfill melalui node tersebut bisa diam-diam melewatkan setoran yang lebih lama sementara setiap pemeriksaan kesehatan di dekat ujung rantai terlihat normal.

Jika saya butuh riwayat yang lengkap, arsip harus tersinkron dari genesis atau berasal dari backup tepercaya yang sudah berisi database arsip. Lalu saya perlu menguji rentang blok paling awal yang dijanjikan layanan saya untuk dicakup sebelum menyatakannya siap.

Saya lebih memilih gagal dengan jelas pada kesiapan daripada mengetahui adanya rentang yang hilang ketika pengguna menanyakan mengapa setoran DUSK yang sudah finalized tidak pernah mencapai saldo mereka.

#dusk $DUSK @Dusk