Bagaimana cara mulai di tinggi block berbeda?
# 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 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/ (opens 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.