การสร้างโปรเจกต์ของ SubQuery

SubQuery TeamLess than 1 minute

การสร้างโปรเจกต์ของ SubQuery

ในคู่มือ quick start เราจะมีตัวอย่างอธิบายแบบเร็วๆ เพื่อให้รู้ถึงความหมายของ SubQuery และเข้าใจวิธีการทำงานของมัน ในส่วนนี้ เราจะพามาดูขั้นตอนการสร้างโปรเจกต์ของคุณและไฟล์สำคัญที่คุณจะต้องใช้ในขั้นตอนนี้

ขั้นตอนการทำงานเบื้องต้น

ในตัวอย่างบางส่วน จะสมมติว่าคุณได้เริ่มต้นแพ็คเกจในส่วนของ Quick start สำเร็จแล้ว จากแพ็คเกจเริ่มต้น เราจะพาคุณดูขั้นตอนมาตรฐานเพื่อใช้ในการปรับแต่ง และใช้งานโปรเจกต์ SubQuery ของคุณ

  1. เริ่มโปรเจกต์ของคุณโดยใช้คำสั่ง subql init PROJECT_NAME.
  2. อัพเดท Manifest File (project.yaml) เพื่อใส่ข้อมูลที่เกี่ยวกับ Blockchain และ Entity ที่คุณจะทำการ Map โปรดดูที่ Manifest File
  3. สร้าง Entity ของ GraphQL ภายใน Schema ของคุณ (schema.graphql) เพื่อกำหนดโครงสร้างของข้อมูลที่คุณจะดึงข้อมูลออกมา โปรดดูที่ GraphQL Schema
  4. เพิ่ม Mapping Function ทั้งหมด (ตัวอย่าง mappingHandlers.ts) ที่คุณจะเรียกใช้เพื่อแปลงข้อมูลที่อยู่บน Chain ให้เป็นของ Entity ของ GraphQL ที่คุณได้กำหนดไว้ โปรดดูที่ Mapping
  5. การสร้างและเผยแพร่โค้ดของคุณไปยังโปรเจกต์ SubQuery (หรือรันอยู่บนโหนดของคุณเอง) โปรดดูที่ Running and Querying your Starter Project ที่อยู่ใน Quick Start Guide

โครงสร้างของไดเร็กทอรี (Directory Structure)

Map ด้านล่างนี้จะแสดงถึงเห็นภาพรวมของโครงสร้างไดเร็กทอรีของโปรเจกต์ SubQuery เมื่อใช้คำสั่ง init

- project-name
  L package.json
  L project.yaml
  L README.md
  L schema.graphql
  L tsconfig.json
  L docker-compose.yml
  L src
    L index.ts
    L mappings
      L mappingHandlers.ts
  L .gitignore

ยกตัวอย่างเช่น:

โครงสร้างไดเร็กทอรี SubQuery

Code Generation

เมื่อใดก็ตามที่คุณเปลี่ยนแปลง Entity ของ GraphQL คุณต้องสร้างประเภทของไดเรกทอรีใหม่ ซึ่งประกอบด้วยคำสั่ง

yarn codegen

นี่จะสร้างไดเรกทอรีใหม่ (หรืออัพเดทของเดิมที่มีอยู่) src/types โดยกำหนดคลาสของ Entity ที่ถูกสร้างขึ้นสำหรับแต่ละประเภทที่คุณได้กำหนดไว้ใน schema.graphql คลาสเหล่านี้จะให้ Type-safe Entity ที่จะให้สิทธิ์ในการ โหลด อ่านและเขียนลงไปในช่องข้อมูลของ Entity - อ่านต่อเกี่ยวกับกระบวนการนี้ได้ใน the GraphQL Schema

Build

ในการสร้างโปรเจ็กต์ SubQuery ของคุณบนโหนด SubQuery ที่โฮสต์บนเครื่อง คุณต้องเริ่มต้นจากการสร้างงานของคุณก่อน

รันคำสั่งในการสร้างจากไดเร็กทอรีเริ่มต้นของโปรเจกต์

::: code-tabs @tab:active yarn shell yarn build