มาลองเล่น subgraph กันเถอะ (Part 2)

Nattawat Songsom
3 min readJul 10, 2022

--

2/100 days of code

จริงๆ บทความนี้จะเป็นการบันทึกว่าเหมือนกดปุ่มนี้ แล้วได้ผลลัพธ์ยังไงมากกว่ามั้งนะ lol

  1. Playground

เริ่มจากการเลือกโปรเจ็กต์ด้วย link นี้ https://thegraph.com/studio/

จากนั้นเปิด playgroud ซึ่งสามารถเข้าได้จาก section DEVELOPMENT QUERY URL

พอเข้ามาแล้วจะหน้าตาเป็นแบบนี้

ถ้าไม่อยากพิมพ์ query เอง ก็สามารถ ใช้ตัวช่วยโดยกด Explorer มุมขวาบนได้

โอเค ต่อจากนี้จะเป็นการ deploy เพื่อให้สามารถ query ได้จากข้างนอกกัน

note: เหมือนว่า result จะหยุดเก็บไปสักพักแล้ว ไม่แน่ใจว่าเป็นเพราะเป็น development mode รึเปล่า แต่พอมาดู log แล้วก็ยังทำงานปกติ อาจเพราะมี db size limit สำหรับ develop มั้ง คงต้องลอง publish หรือตั้ง local node ดูก่อน ถึงจะบอกได้

2. publish

กด publish ตรงๆได้เลย แต่พอ publish ลง Rinkeby แล้ว ปุ่ม publish ก็ยังขั้นอยู่ เหมือนว่าต้องย้ายไปเว็บ testnet สำหรับ subgraph แหะ ก็กดปุ่ม view testnet subgraph ได้เลย

แต่พอเข้ามาแล้ว เหมือนตัว project เรายังไม่เริ่ม index (น่าจะเหมือนยังไม่เริ่ม sync ข้อมูล) ซึ่งต้อง signal ด้วยการวางเหรียญ GRT แหะ

ปัญหาคือเรายังไม่มีเหรียญ GRT นี่สิ ซึ่งสามารถขอได้ใน discord ของ The Graph ตาม link นี้ https://discord.com/invite/vtvv7FP

พอเข้ามาแล้วก็ verify ตัวตนให้เสร็จ จากนั้นไปยังช่อง #role แล้วกดปุ่ม T ตามภาพ

จากนั้นก็มายังช่อง testnet-faucet แล้วพิมพ์ !grt <address> เพื่อขอ GRT

ตอนแรกผมไป search GRT address มา import to metamask เอง ดันเป็น address ปลอมซะงั้น โอเค เช็ค balance GRT บนเว็บได้เลย

โอเค พอเรา signal ไปละ เราจะกลายเป็น curator ของ subgraph นี้

โอเค ลองมาใช้ api ยิงไปจากข้างนอกกัน กลับมาที่เว็บ subgraph studio นะ ก่อนอื่นต้องเอา apiKey มาก่อน ที่เมนูมุมขวาเลย

พอได้ apiKey มาแล้ว ให้ copy url endpoint ของเราจาก section production query url

ให้ใส่ api key เราลงไป แล้วลองยิง http post ดู

erro เหมือนไม่ได้ deploy เลยแหะ ไม่แน่ใจว่าเกิดจากยัง index ไม่เสร็จรึเปล่า งั้นลองไป deploy ใหม่กัน ใช้คำสั่ง

graph deploy — studio erc20_sum

ได้อีก endpoint นึงมาใน result แหะ

พอลองไปยิงใน postman ดันยิงได้ด้วยสิ

อ้าว แล้วเรา publish ไปทำไมกันหว่า

ในส่วนของ ecosystem ต่างของ the graph และการทำ local node ไว้มาต่อกันครั้งหน้าแล้วกันนะ

--

--

No responses yet