Как запустить узел индексатора?
Как запустить узел индексатора?
Видео гайд
Введение
Запуск узла индексатора - еще один вариант помимо использования Docker или размещения проекта в SubQuery Projects . Это требует больше времени и усилий, но улучшит ваше понимание того, каким образом работает SubQuery.
Postgres
Для запуска узла индексатора в вашей инфраструктуре потребуется установка базы данных Postgres. Вы можете установить Postgres здесь а также убедиться, что версия 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
.