Перейти до основного вмісту

Hello World (SubQuery hosted)

SubQuery TeamПриблизно 4 хв

Hello World (SubQuery hosted)

Метою цього швидкого старту є показати, як ви можете отримати початковий проект, що працює в SubQuery проектах (наш керований сервіс) за декілька простих кроків.

Ми візьмемо простий стартовий проект (і все, що ми до цього досягнули), але замість того, щоб запускати його локально всередині Docker, ми скористаємося перевагами керованої хостинг-інфраструктури SubQuery. Іншими словами, ми дозволяємо SubQuery робити всі важкі підйоми та керування виробничою інфраструктурою.

Мета навчання

Наприкінці цього швидкого початку, ви повинен:

  • розуміти необхідні передреквізити
  • Ви можете спробувати самі зараз у Проектах SubQuery open in new window
  • виконувати простий запит щоб отримати висоту блоків Polkadot mainnet за допомогою playground
  • виконати простий запит GET, щоб отримати граничну висоту компонента Polkadot за допомогою cURL

Інтентифікована аудиторія

Це керівництво орієнтоване на нових розробників, які мають певний досвід розробки і зацікавлені в вивченні більше про SubQuery.

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


Пре-реєстрація

Вам потрібно:

  • a GitHub account

1. Створити проект

Давайте створимо проект під назвою subqlHelloWorld, запустивши subql init і вибравши збірку проекту з мережею Polkadot та ініціалізуємо проект за допомогою subql-starter шаблон. Ми повинні запустити обов’язкове встановлення, створення коду та збірку за допомогою вашого улюбленого менеджера пакетів.

> subql init subqlHelloWorld
yarn install
yarn codegen
yarn build

НЕ запускати команди докерів.

2. Створюємо GitHub репозиторій...

У GitHub, створіть новий публічний репозиторій. Вкажіть назву та встановіть видимість для перегляду. Тут, на даний момент все зберігається за замовчуванням.

Створити GitHub репозиторій

Зверніть увагу на ваш GitHub URL, він має бути публічним для доступу до SubQuery

Створити GitHub репозиторій

3. Відправити на GitHub

Поверніться до каталогу проекту, ініціалізуйте її як git directory. В іншому випадку ви можете отримати помилку "фатальний: не репозиторій git (або будь-які з батьківських каталогів): .git"

git init

Потім додайте віддалений репозиторій за допомогою команди:

git Add origin https://github.com/seandotau/subqlHelloWorld.git

Це в основному задає свій віддалений репозиторій на “https://github.com/seandotau/subqlHelloWorld.git” і дозволяє йому назвати "origin" стандартну номенклатуру для віддаленого сховища на GitHub.

Далі додамо код до нашого репозиторію наступними командами:

> git add .
> git commit -m "First commit"
[master (root-commit) a999d88] First commit
10 files changed, 3512 insertions(+)
create mode 100644 .gitignore
create mode 100644 README.md
create mode 100644 docker-compose.yml
create mode 100644 package.json
create mode 100644 project.yaml
create mode 100644 schema.graphql
create mode 100644 src/index.ts
create mode 100644 src/mappings/mappingHandlers.ts
create mode 100644 tsconfig.json
create mode 100644 yarn.lock
> git push origin master
Enumerating objects: 14, done.
Compressing objects: 100% (5/5), done.
Дельта стиснення використовує до 12 потоків
Стиснення об'єктів: 100% (13/13), готово.
Writing objects: 100% (5/5), 266.37 KiB | 0 bytes/s, done.
Total 14 (delta 0), reused 0 (delta 0)
To https://github.com/seandotau/subqlHelloWorld.git
 * [new branch]      master -> master

Команда push означає "будь ласка, відправте мій код на reo FROM мій головний місцевий репозиторій". Оновлення GitHub повинне відображати весь код на GitHub.

Перший коміт

Тепер, коли ви отримали ваш код у GitHub, давайте поглянемо на те, як ми можемо розмістити його у проектах SubQuery .

4. Створити проект

Перейдіть до https://managedservice.subquery.networkopen in new window і увійдіть до свого облікового запису GitHub.

Ласкаво просимо в Sandbox Projects

створити новий проект

Ласкаво просимо в Sandbox Projects

І заповніть різні поля відповідною інформацією.

  • Обліковий запис на GitHub: Якщо у вас є більше одного облікового запису GitHub, виберіть обліковий запис з цього проекту буде створено. Проекти, створені в обліковому записі організації GitHub, поділяються між учасниками цієї організації.
  • Ім'я проекту: Дайте назву своєму проекту тут.
  • Subtitle: надає субтитри для вашого проекту.
  • Опис: Поясніть, що зробить ваш проект підробки.
  • GitHub репозиторій URL: Це має бути валідний GitHub до публічного репозиторію, який містить ваш проект SubQuery Схема має бути в корені вашого каталогу.
  • Приховати проект: Якщо вибрано, це приховає проект з громадського засобу обробки підкадрів. Зберігайте це необрано, якщо ви хочете поділитися підробкою із спільнотою!

Створити параметри файлу

Коли клацнете по створенню, ви будете зайняті до панелі керування.

Панель моніторингу запитів

В інформаційній панелі міститься багато корисної інформації, такої як мережа, яку вона використовує, URL-адреса репозиторія GitHub з вихідним кодом, який він запущений, коли він був створений і останній оновлений, і зокрема деталі розгортання.

5. Розгорніть ваш проект

Тепер, коли ви створили свій проект в проектах SubQuery налаштування поведінки відображення наступного кроку - розгортання вашого проекту, що робить його робочим. Розгортання версії викликає нову операцію індексування підзапити для початку і налаштує необхідний сервіс запитів для прийняття графічних запитів. Ви також можете розгорнути нові версії на існуючі проекти.

Ви можете обрати для розгортання в різних середовищах, таких як слот виробництва чи постановка слота. Тут ми будемо розгортати у production слот. Натискання на кнопку "Розгорнути" викликає екран із наступними полями:

Розгортати у слот виробництва

  • Закомітити хеш нової версії: З GitHub виберіть правильний коміт кодової бази проекту SubQuery який ви хочете розгорнути
  • Версія індексера: Це версія служби вузла SubQuery, на якій ви хочете запустити цей SubQuery далі. Або npmopen in new window:
  • Версія індексера: Це версія служби вузла SubQuery, на якій ви хочете запустити цей SubQuery далі. Або npmopen in new window:

Тому що у нас є лише один рахунок, є лише одна опція у падінні вниз. Ми також будемо працювати з останньою версією індексатора та версією запиту, щоб ми прийняли типові значення і потім натисніть кнопку "Розгорнути оновлення".

Потім ви побачите розгортання в статусі "Обробка". Тут код розгортається на керовану інфраструктуру SubQuery. По суті, сервер стає все більшим за попитом та за його підтримкою. На це знадобиться ще кілька хвилин, щоб схопити каву!

Обробка розгортання

Зараз відбувається розгортання.

Працює розгортання

6. Протестуй свій проєкт.

Щоб перевірити свій проект, натисніть на 3 еліпси і виберіть "Перегляд в провіднику SubQuery Explorer".

Переглянути за проектом

Ви відправитесь до коли-небудь знайомого "Playground", де зможете натиснути кнопку "Грати" і побачити результати запиту.

Ігровий майданчик з підзапитом

7. Бонусний крок

Під впливом серед нас ви згадаєте, що в навчальних цілях ми маємо використовувати простий запит GET. Щоб це зробити, нам потрібно буде захопити "Query Endpoint", яка відображається в деталях розгортання.

Черги

Ви можете надіслати GET запит до цієї кінцевої точки або ж використати ваш улюблений клієнт, наприклад Postmanopen in new window or Mockoonopen in new window або через cURL у вашому терміналі. Для спрощення відображення URL нижче відображається URL.

Корінь curl команда запустити:

curl https://api.subquery.network/sq/seandotau/subqueryhelloWorld -d "query=query { starterEntities (перше: 5, orderBy: CREATED_DESC) { totalCount nodes { id field1 field2 field3 }}"

даючи результат:

{"data":{"starterEntities":{"totalCount":23098,"nodes":[{"id":"0x29dfe9c8e5a1d511765c2c23f65d249b548fe75a9b6d74cebab777b961b1a6","field1":230,"field2":null,"field3":null},{"id":"0xab7d316a01cdafed9a420f4020cd53b60429cfe5f1709329c8f17093f170933230fb96","230b304n9,"field8n7},4n3":n3":n74n8n8full}},{"id74b3a66","4

Тут читабельність не викликає занепокоєння, так як ви, ймовірно, будете мати деякий код переднього кінця, щоб споживати та обробляти цю відповідь JSON.

Підсумок

У цьому вкладеному запиті ми провели швидкий старт, ми показали, як швидко і легко можна було взяти проект Subql і розгорнути його в SubQuery Managed Serviceopen in new window де вся інфраструктура забезпечується для вашої зручності. Існує інпобудований ігровий майданчик для виконання різних запитів, а також кінцева точка коду для інтегрування.