อธิบาย Hello World

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

# อธิบาย Hello World

ใน คู่มือเริ่มต้นฉบับย่อของ Hello World เราได้สาธิตวิธีการคำสั่งง่ายๆ เพื่อได้ให้เห็นตัวอย่างของการใช้งาน สิ่งนี้จะช่วยให้คุณมั่นใจได้ว่าคุณเตรียมการได้พร้อม และสามารถรัน query อย่างง่ายเพื่อได้รับข้อมูลจาก SubQuery ในที่นี้ เราจะลงรายละเอียดมากขึ้นว่าแต่ละคำสั่งเหล่านั้นมีความหมายว่าอย่างไร

# subql init

คำสั่งแรกที่เราเรียกใช้คือ subql init subqlHelloWorld

สิ่งนี้ช่วยจัดการงานส่วนที่ยาก และสร้างไฟล์ทั้งหมดให้คุณ ตามที่ระบุไว้ใน เอกสารทางการ คุณจะต้องทำงานกับไฟล์ต่อไปนี้เป็นหลัก:

  • Manifest ใน project.yaml
  • GraphQL Schema ใน schema.graphql
  • Mapping functions ในไดเรกทอรี src/mappings/

key subql files

ไฟล์เหล่านี้เป็นส่วนหลักที่เราจะใช้งาน ดังนั้น เราจะเจาะลึกเนื้อหาของไฟล์เหล่านั้นมากขึ้นในบทความถัดๆไป ในตอนนี้ ให้ผู้ใช้ทำความเข้าใจว่า schema ประกอบด้วยคำอธิบายของข้อมูลที่ผู้ใช้สามารถ request ได้จาก SubQuery API, ไฟล์ yaml ของโครงการซึ่งมีพารามิเตอร์ประเภท "configuration" และแน่นอนว่ามี mappingHandlers ที่มี typescript ซึ่งมีฟังก์ชันสำหรับแปลงข้อมูล

# yarn install

สิ่งต่อไปที่เราทำคือ yarn install npm install ก็สามารถใช้ได้เช่นกัน

สรุปที่มาสั้นๆ Node Package Manager หรือ npm เปิดตัวครั้งแรกในปี 2010 และเป็นตัวจัดการแพ็คเกจที่ได้รับความนิยมอย่างมากในหมู่นักพัฒนา JavaScript ซี่งเป็นแพ็คเกจเริ่มต้นที่ติดตั้งโดยอัตโนมัติทุกครั้งที่คุณติดตั้ง Node.js บนระบบของคุณ Yarn เปิดตัวครั้งแรกโดย Facebook ในปี 2559 โดยมีจุดประสงค์เพื่อแก้ไขข้อบกพร่องด้านประสิทธิภาพและความปลอดภัยบางประการในการทำงานกับ npm (ในขณะนั้น)

สิ่งที่ yarn ทำคือดูที่ไฟล์ package.json และดาวน์โหลด dependencies อื่นๆ เมื่อดูที่ไฟล์ package.json ดูเหมือนว่าจะไม่ได้มี dependencies มากนัก แต่เมื่อคุณเรียกใช้คำสั่ง คุณจะสังเกตเห็นว่ามีการเพิ่มไฟล์เข้ามา 18,983 ไฟล์ เนื่องจากแต่ละ dependency จะมี dependencies ของตนเองด้วย

key subql files

# yarn codegen

จากนั้นเราก็รัน yarn codegen หรือ npm run-script codegen สิ่งนี้เป็นการดึง schema ของ GraphQL (ใน schema.graphql) และสร้างไฟล์โมเดล typescript ที่เกี่ยวข้องขึ้นมา (ดังนั้นไฟล์ที่ได้รับจะเป็นสกุล .ts) คุณไม่ควรเปลี่ยนไฟล์ที่สร้างขึ้นเหล่านี้ แต่ควรเปลี่ยนที่ไฟล์ต้นทาง schema.graphql แทน

key subql files

# yarn build

จากนั้นรันคำสั่ง yarn build หรือ npm run-script build สิ่งนี้น่าจะเรื่องที่คุ้นเคยสำหรับโปรแกรมเมอร์ที่มีประสบการณ์ โดยจะเป็นการสร้างโฟลเดอร์แบบกระจาย (distribution folder) สำหรับทำสิ่งต่างๆ เช่นการเพิ่มประสิทธิภาพโค้ดที่เตรียมสำหรับการ deploy

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 engine และเมื่อคุณเห็น:

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

เป็นการบอกให้คุณรู้ว่าโหนด SubQuery ได้เริ่มการซิงโครไนซ์แล้ว

# สรุป

เมื่อคุณได้ทราบข้อมูลเชิงลึกเกี่ยวกับสิ่งที่เกิดขึ้นเบื้องหลังแล้ว คำถามก็คือ จะต้องดูที่ไหนต่อ? หากคุณรู้สึกมั่นใจ คุณสามารถเรียนรู้เกี่ยวกับวิธีการสร้างโปรเจกต์และเรียนรู้เพิ่มเติมเกี่ยวกับไฟล์หลักทั้งสามไฟล์ นั่นคือ ไฟล์ manifest, the GraphQL schema, และ ไฟล์ the mappings

นอกจากนี้ สามารถไปที่บทช่วยสอนของเรา ซึ่งจะดูว่าเราสามารถเรียกใช้ตัวอย่าง Hello World นี้บนโครงสร้างพื้นฐานที่โฮสต์บน SubQuery ได้อย่างไร เราจะดูการแก้ไขบล็อกเริ่มต้น และจะเจาะลึกถึงการรันโปรเจกต์ SubQuery โดยเรียกใช้จากสิ่งที่พร้อมใช้งาน และโปรเจกต์โอเพ่นซอร์สต่างๆ

Last update: October 5, 2022 01:44