Як почати з іншої висоти блоку?

... 2022-8-5 Менше 1 хвилини

# Як почати з іншої висоти блоку?

# Відеоінструкція

# Вступ

За замовчуванням усі стартові проекти починають синхронізувати блокчейн із блоку генезису. Іншими словами, з блоку 1. Для великих блокчейнів це зазвичай може зайняти дні або навіть тижні для повної синхронізації.

Щоб запустити синхронізацію вузла SubQuery з ненульової висоти, необхідно лише змінити ваш project.yaml файл, встановивши відповідне значення ключа startBlock.

Нижче навдено приклад файлу project.yaml, де початковий блок був встановлений на 1000000

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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# Чому б не почати з нуля?

Основна причина в тому, що це може зменшити час для синхронізації блокчейну. Це означає, що якщо вам потрібні дані по транзакціям лише за останні 3 місяці, ви можете синхронізувати тільки останні 3 місяці, що займе менше часу і Ви зможете швидше присутпити до роботи.

# Які недоліки при початку з нуля?

Найбільш очевидним недоліком буде те, що ви не зможете робити запити в блокчейні щодо блоків, яких у вас немає.

# Як визначити поточну висоту блокчейну?

Якщо ви використовуєте мережу Polkadot, ви можете відвідати https://polkascan.io/ (opens new window), обрати мережу, а потім переглянути значення "Finalised Block".

# Чи повинен я виконувати команди rebuild або codegen?

Ні. Оскільки ви змінюєте файл project.yaml, який, по суті, є файлом конфігурації, вам не доведеться перебудовувати або відновлювати код typescript.

Останнє оновлення: August 5, 2022 10:08