Skip to main content

Bagaimana cara mulai di tinggi block berbeda?

SubQuery TeamLess than 1 minute

Bagaimana cara mulai di tinggi block berbeda?

Panduan video


Pengenalan

Secara default, semua proyek awal mulai menyinkronkan blockchain dari blok genesis. Dengan kata lain, dari blok 1. Untuk blockchain besar, ini biasanya membutuhkan waktu berhari-hari atau bahkan berminggu-minggu untuk disinkronkan sepenuhnya.

Untuk mulai sinkronisasi node SubQuery dari tinggi bukan-nol, yang perlu dilakukan hanyalah memodifikasi file project.yaml dan mengubah kunci startBlock.

Berikut adalah file project.yaml di mana block mulainya sudah diatur ke 1.000.000

specVersion: 0.0.1
description: ""
repository: ""
schema: ./schema.graphql
network:
  endpoint: wss://polkadot.api.onfinality.io/public-ws
  dictionary: https://api.subquery.network/sq/subquery/dictionary-polkadot
dataSources:
  - name: main
    kind: substrate/Runtime
    startBlock: 1000000
    mapping:
      handlers:
        - handler: handleBlock
          kind: substrate/BlockHandler

Kenapa tidak mulai dari nol?

Alasan utamanya adalah dapat mengurangi waktu sinkronisasi blockchain. Artinya jika Anda hanya tertarik pada transaksi dalam 3 bulan terakhir, Anda hanya dapat menyinkronkan nilai 3 bulan terakhir yang berarti lebih sedikit waktu tunggu dan Anda dapat memulai pengembangan lebih cepat.

Apa kekurangan tidak memulai dari nol?

Kekurangan paling jelas adalah anda tidak akan bisa melakukan query data di blockchain untuk block yang tidak anda miliki.

Bagaimana cara mengetahui tinggi blockchain saat ini?

Jika menggunakan jaringan Polkadot, anda bisa mengunjungi https://polkascan.io/open in new window, pilih jaringannya, dan lihat "Finalised Block".

Apa saya harus membangun ulang atau codegen?

Tidak. Karena Anda memodifikasi file project.yaml, yang pada dasarnya adalah file konfigurasi, Anda tidak perlu membangun kembali atau membuat ulang kode TypeScript.