Hello World Объяснение

... 2022-8-10 Less than 1 minute

# Hello World Объяснение

В Hello World ръководство за бързо стартиране , изпълнихме няколко прости команди и стартирахме примера много бързо. Това ви позволява да се уверите, че имате всички необходими условия и можете да използвате локална платформа, за изпълнение на проста заявка, за получаване на първите си данни от SubQuery. Тук ще разгледаме по-детайлно какво означават всички тези команди.

# subql init

Тази команда я стартираме с subql init subqlHelloWorld.

Тя прави вместо вас тежката работа и създава цял куп файлове за вас. Както е отбелязано вофициалната документация, основно ще работите със следните файлове:

  • Манифест в project.yaml
  • GraphQL Schema в schema.graphql
  • Показване на Функции в директорията src/mappings/

key subql files

Тези файлове представляват основата на всичко, което правим. По този начин ще отделим повече време за тези файлове в друга статия. В този момент, необходимо да знаете, че схемата съдържа описание на данните, които потребителите могат да поискат от API SubQuery, файла на yaml проекта, съдържащ параметри от тип "конфигурация" и, разбира се, mappingHandlers включващи typescript, който съдържа функции, преобразуюващи данните.

# yarn install

Следващото нещо, което направихме е yarn install. Може да се използва и npm install.

Кратък урок по история. Node Package Manager или npm първоначално беше стартиран през 2010 г. и е изключително популярен мениджър на пакети сред разработчиците на JavaScript. Това е пакет по подразбиране, който се инсталира автоматично всеки път, когато инсталирате Node.js във вашата система. Първоначално Yarn беше пусната от Facebook през 2016 г. с цел отстраняване на някои недостатъци в производителността и сигурността при работа с npm (по онова време).

Това, което прави yarn, е преглед на package.jsonфайл и изтегляне на различни други зависимости. При преглед на package.jsonфайл, на пръв преглед не изглежда, че има много зависимости, но при стартиране на командата, ще забележите, че са добавени 18 983 файла. Това се случва, защото всяка зависимост от своя страна има свои собствени зависимости.

key subql файлове

# yarn codegen

След това стартираме yarn codegen или npm run-script codegen. Извлича се схемата GraphQL(в schema.graphql)и се генерират съответните файлове на модела typescript (следователно изходните файлове ще имат разширение .ts). Никога не трябва да променяте нито един от тези генерирани файлове, а само да променяте изходния schema.graphql файл.

key subql files

# yarn build

yarn build или npm run-script buildбяха стартирани. Това трябва да е познато на опитни програмисти. Той създава папка за разпространение, изпълняваща неща като оптимизиране на кода, подготовка за внедряване.

key subql files

# docker-compose

Последната стъпка беше комбинираната команда на docker docker-compose pull && docker-compose up (може да се стартира и отделно). Командата pull улавя всички необходими изображения от Docker Hub и командата up стартира контейнера.

> docker-compose pull
Pulling postgres        ... done
Pulling subquery-node   ... done
Pulling graphql-engine  ... done
1
2
3
4

Когато контейнерът е стартирал, ще видите, че терминалът предоставя много текст, показващ състоянието на нодата и двигателя GraphQL. Виждате следното:

subquery-node_1   | 2021-06-06T02:04:25.490Z <fetch> INFO fetch block [1, 100]
1

тогава разбирате, че нодата SubQuery е започнала синхронизация.

# Заключение

Сега, когато имате представа какво се случва зад кулисите, възниква въпросът: какво да правите по-нататък? Ако се чувствате уверени, можете да преминете към изучаването на това как да създадете проект и да научете повече за трите ключови файла. Файл манифест, GraphQL схема и файл mappings.

В противен случай, отидете към раздела "Учебни помагала", където ще разгледаме начин, по който да стартираме примера Hello World в уеб-базирана SubQuery инфраструктура, можем да разгледаме промяна на началният блок и да навлезнем по-дълбоко в стартирането на проекти Subquery, стартирайки лесно достъпни проекти с отворен код.

Last update: August 10, 2022 00:49