ติดตามการโอน Fan Token
ติดตามประวัติการโอน Fan Token บน Chiliz Chain โดยใช้ subgraphs กับ The Graph หรือ Goldsky: การ index event, GraphQL queries, และการสร้าง token dashboard
การติดตามการเคลื่อนไหวของ Fan Token บน Chiliz Chain เป็นวิธีที่ดีในการตรวจสอบกิจกรรมของ token ที่คุณชื่นชอบ คุณสามารถใช้สิ่งนี้เป็นจุดเริ่มต้นสำหรับ dashboard ที่มีศักยภาพ เพื่อวิเคราะห์ข้อมูลและให้ insight ว่าอะไรกำลังเป็นที่นิยมและอะไรไม่ใช่
เมื่อติดตามการเคลื่อนไหวของ Fan Token™ คุณจะพบกับความท้าทายอย่างรวดเร็ว: การอ่านข้อมูลโดยตรงจาก blockchain มีประสิทธิภาพสำหรับสถานะปัจจุบัน ("ยอดคงเหลือของกระเป๋าเงิน X คือเท่าไหร่?") แต่ไม่มีประสิทธิภาพสำหรับข้อมูลในอดีต ("แสดงธุรกรรมทุกรายการที่เกี่ยวข้องกับกระเป๋าเงิน X ในช่วงปีที่ผ่านมา")
เพื่อแก้ปัญหานี้ เราสามารถใช้ subgraphs
เกี่ยวกับ subgraphs
Subgraph คือ API แบบกำหนดเองที่ดึงข้อมูลจาก blockchain ประมวลผล และจัดเก็บไว้เพื่อให้สามารถ query ได้อย่างง่ายดาย แทนที่จะขอให้ blockchain สแกนบล็อกหลายล้านบล็อกทุกครั้งที่คุณต้องการข้อมูล subgraph จะ index event เฉพาะที่เกิดขึ้นและจัดเก็บไว้ในฐานข้อมูล
Chiliz Chain รองรับ indexing protocols มาตรฐานอุตสาหกรรม คุณสามารถเลือกผู้ให้บริการที่เหมาะสมที่สุดกับความต้องการของโปรเจกต์คุณ:
The Graph: มาตรฐานอุตสาหกรรมสำหรับ decentralized indexing ช่วยให้คุณ deploy subgraph ของคุณไปยัง decentralized network ของ indexers
Goldsky: บริการ indexing แบบ hosted ที่มีประสิทธิภาพสูง รองรับโค้ดของ The Graph อย่างสมบูรณ์ (มักใช้โค้ดเดียวกันได้เลย) แต่มีความเร็วในการ index ที่สูงกว่าและฟีเจอร์ real-time data streaming
เครื่องมือทั้งสองใช้ framework การพัฒนาเดียวกัน ดังนั้นขั้นตอนส่วนใหญ่ในหน้านี้จึงใช้ได้กับทั้งคู่
มาดูกันว่าเราจะติดตามการโอนของ PSG Fan Token ได้อย่างไร...
0. เลือกเครื่องมือ
คุณสามารถ deploy subgraph บน Chiliz Chain โดยใช้ The Graph (decentralized network) หรือ Goldsky (hosted indexer) โครงสร้างโค้ดเหมือนกัน ต่างกันเพียงคำสั่ง deployment เท่านั้น
แน่นอนว่าคุณสามารถอ้างอิงเอกสารของพวกเขาได้:
1. เริ่มต้นโปรเจกต์ subgraph
ทั้ง The Graph และ Goldsky มีวิธีการสร้าง graph ผ่าน CLI
The Graph มี Subgraph Studio ซึ่งคุณสามารถเชื่อมต่อโดยใช้ Web3 ของคุณ จากนั้นสร้าง subgraph ผ่านอินเทอร์เฟซ
Goldsky ให้ dashboard เมื่อคุณสร้างบัญชี ซึ่งคุณสามารถสร้าง subgraph ได้จากที่นั่น
ติดตั้ง Graph CLI
บนเครื่องของคุณ รันคำสั่งต่อไปนี้:
คุณสามารถสร้าง subgraph โดยใช้ CLI tool จาก The Graph สำหรับทั้ง subgraphs แบบ decentralized ของ The Graph หรือ subgraphs แบบ hosted ของ Goldsky
Goldsky มี CLI tool ของตัวเอง ซึ่งคุณจะต้องใช้หากต้องการ deploy บน Goldsky (ดูด้านล่าง)
เริ่มต้น subgraph ของคุณ
คุณสามารถคัดลอกสิ่งนี้โดยตรงจากหน้า subgraph ของคุณเพื่อใส่ subgraph slug เฉพาะของคุณ:
แท็ก --studio เป็นตัวเลือกไม่บังคับ
ในตัวอย่าง PSG Fan Token ของเรา เราสามารถใช้:
คุณจะถูกถามให้ระบุข้อมูลบางอย่างเกี่ยวกับ subgraph ของคุณ ดังนี้:

คุณต้องมี smart contract ที่ยืนยันแล้วบน block explorer และ CLI จะดึง ABI โดยอัตโนมัติและตั้งค่า subgraph ของคุณ การตั้งค่าเริ่มต้นจะสร้าง entity สำหรับแต่ละ event
หมายเหตุ:
หาก smart contract ใช้ proxy เช่น PSG Fan Token ให้ใช้ที่อยู่ของ implementation contract แทน คุณจะเห็นได้ในแท็บ "Read/write contract" บนหน้า block explorer ของ smart contract ตัวอย่างเช่น ดูที่นี่สำหรับ PSG Fan Token contract บน Chiliz Block Explorer
หากคุณต้องป้อนที่อยู่ implementation contract ของ proxy เมื่อโปรเจกต์ตั้งค่าเสร็จแล้ว ให้ไปที่ manifest file (
subgraph.yaml) และเปลี่ยนที่อยู่ smart contract เป็นที่อยู่ของ proxy
หาก Start Block ไม่ได้ถูกดึงมาโดยอัตโนมัติ คุณสามารถป้อนหมายเลขบล็อกที่ smart contract ถูกสร้างขึ้นด้วยตนเอง คุณสามารถดูข้อมูลนี้จาก block explorer
เมื่อทำการเปลี่ยนแปลง subgraph ของคุณ คุณจะทำงานส่วนใหญ่กับไฟล์สามไฟล์:
Manifest (
subgraph.yaml): กำหนด data sources ที่ subgraph ของคุณจะ indexSchema (
schema.graphql): กำหนดข้อมูลที่คุณต้องการดึงจาก subgraphAssemblyScript Mappings (
mapping.ts): แปลงข้อมูลจาก data sources ของคุณเป็น entities ที่กำหนดใน schema
เปิด subgraph.yaml และตรวจสอบให้แน่ใจว่า manifest file ของคุณชี้ไปยัง network ที่ถูกต้อง:
Compile subgraph ของคุณ
สุดท้าย compile subgraph ของคุณเพื่อให้แน่ใจว่าไม่มีข้อผิดพลาด:
2. Deploy และ Publish
เมื่อ subgraph ของคุณถูก build แล้ว ให้เลือกผู้ให้บริการเพื่อ deploy
The Graph
เชื่อมต่อกับ Subgraph Studio, สร้าง subgraph และคัดลอก deploy key ของคุณ
ยืนยันตัวตนผ่าน CLI:
graph auth --studio <DEPLOY_KEY>Deploy subgraph ของคุณไปยัง Subgraph Studio:
graph deploy --studio <SUBGRAPH_SLUG>ไปที่ Studio เปิด subgraph ของคุณและคลิก "Publish" เพื่อ mint subgraph ของคุณไปยัง decentralized network การดำเนินการนี้จะเรียกใช้ธุรกรรมผ่านกระเป๋าเงินของคุณเพื่อเผยแพร่ subgraph ของคุณเป็น NFT บน Arbitrum One network
Goldsky
ไปที่ Goldsky, สร้าง API key ใน "Project Settings" และเข้าสู่ระบบผ่าน CLI
ติดตั้งคำสั่ง
goldsky:curl https://goldsky.com | shจากนั้นยืนยันตัวตนผ่าน CLI:goldsky loginอัปโหลด subgraph ของคุณไปยัง Goldsky:
goldsky subgraph deploy / --path
Subgraphs ของ Goldsky จะพร้อมใช้งานทันทีหลังจาก deployment ไม่จำเป็นต้องมีขั้นตอนการ publish เพิ่มเติม
คุณจะถูกถามให้ระบุ version label คุณสามารถป้อนอะไรก็ได้เช่น v0.0.1 แต่คุณมีอิสระที่จะเลือกรูปแบบ เมื่อเสร็จแล้ว คุณจะเห็น subgraph เริ่มต้น sync ในหน้า Studio
smart contracts ของ The Graph ทั้งหมดอยู่บน Arbitrum One แม้ว่า subgraph ของคุณจะ index ข้อมูลจาก Chiliz Chain
3. Query Subgraph ของคุณ
ยินดีด้วย! ตอนนี้คุณสามารถเริ่มต้น query ได้โดยส่ง GraphQL query ไปยัง query URL ของ subgraph ซึ่งพบได้ใน dashboard ของบริการที่คุณเลือก
ตัวอย่าง:
The Graph
https://gateway-arbitrum.network.thegraph.com/api/[APIKEY]/subgraphs/id/[ID]
Goldsky
https://api.goldsky.com/api/public/project_[KEY]/subgraphs/[SLUG]/1.0.0/gn
ตอนนี้คุณเพียงแค่ต้องกรอกรายละเอียดของคุณเพื่อเริ่มส่ง GraphQL queries ไปยัง endpoint นี้
ภาคผนวก
ตัวอย่าง Query
Query นี้แสดงธุรกรรมทั้งหมดของ PSG Fan Token
ตัวอย่างโค้ด
การส่งสิ่งนี้ไปยัง query URL จะคืนผลลัพธ์นี้:
แหล่งข้อมูลเพิ่มเติม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการ query ข้อมูลจาก subgraph ของคุณด้วย GraphQL:
อัปเดตล่าสุด
สิ่งนี้มีประโยชน์หรือไม่?