Перейти к основному содержанию

Как запустить узел индексатора?

SubQuery TeamМеньше 1 минуты

Как запустить узел индексатора?

Видео гайд


Введение

Запуск узла индексатора - еще один вариант помимо использования Docker или размещения проекта в SubQuery Projects open in new window. Это требует больше времени и усилий, но улучшит ваше понимание того, каким образом работает SubQuery.

Postgres

Для запуска узла индексатора в вашей инфраструктуре потребуется установка базы данных Postgres. Вы можете установить Postgres здесь open in new window а также убедиться, что версия 12 или выше.

Установка subql/node

Затем, чтобы запустить узел SubQuery, выполните следующую команду:

npm install -g @subql/node

Флаг -g означает глобальную установку, что означает, что на OSX местоположение будет /usr/local/lib/node_modules.

После установки вы можете проверить версию, запустив:

> subql-node --version
0.19.1

Настройка конфигов DB

Затем вам нужно установить следующие переменные среды:

export DB_USER=postgres
export DB_PASS=postgres
export DB_DATABASE=postgres
export DB_HOST=localhost
export DB_PORT=5432

Конечно, если у вас разные значения для вышеуказанных ключей, отрегулируйте их соответствующим образом. Обратите внимание, что команда env отобразит текущие переменные среды и что этот процесс устанавливает эти значения только временно. То есть они действительны только на время работы с терминалом. Чтобы установить их навсегда, сохраните их в своем ~ / bash_profile.

Индексирование проекта

Чтобы начать индексирование проекта, перейдите в папку своего проекта и выполните следующую команду:

subql-node -f .

Если у вас нет под рукой проекта, git clone https://github.com/subquery/subql-helloworld. Вы должны увидеть, как узел индексатора заработает и начнет индексировать блоки.

Проверка Postgres

Если вы перейдете в Postgres, вы должны увидеть две созданные таблицы. public.subqueries and subquery_1.starter_entities.

public.subqueries содержит только 1 строку, которую индексатор проверяет при запуске, чтобы «понять текущее состояние», чтобы понимать, продолжение. Таблица starter_entities содержит индексы. Чтобы просмотреть данные, запустите select (*) из subquery_1.starter_entities.