# คู่มือการใช้งาน Dune Analytics สำหรับผู้เริ่มต้น

By [investgineer](https://paragraph.com/@investgineer) · 2022-10-11

---

[Perpetual Protocol](https://app.perp.com/?utm_source=perp_medium&utm_medium=blog_post) เป็น derivatives protocol ที่อยู่บน blockchain กระจายศูนย์และไม่มีคัวกลาง ทำให้ผู้วางสภาพคล่อง (Liquidity Provider) และนักเทรด (Trader) ที่เข้ามาใช้งาน จะได้รับประโยชน์จากการเข้าถึงข้อมูล blockchain จำนวนมากผ่าน Dune Analytics

ไม่เคยมีมาก่อนในประวัติศาสตร์ของตลาดการเงิน ที่ข้อมูลถูกเปิดและเข้าถึงได้ฟรีสำหรับทุกคน ผู้วางสภาพคล่อง และนักเทรด สามารถรับสถิติในแบบเรียลไทม์เพียงแค่รู้พื้นฐานของ Dune Analytics และสามารถหาข้อมูลแบบเจาะลึกลงไปอีกเพียงแค่เรียนรู้การเขียน query ด้วยตนเอง

Dune Analytics คืออะไร?
-----------------------

[Dune Analytics](https://dune.com/home) เป็นเครื่องมืออันทรงพลังสำหรับการวิจัยบล็อคเชน ทำให้คุณสามารถสืบค้นและแสดงภาพข้อมูลจำนวนมหาศาลจากเครือข่ายอย่าง Ethereum และ Optimism โดยปกติ ในการรับข้อมูลเชิงลึกเหล่านี้ คุณจะต้องเรียกใช้โหนด โฮสต์เว็บไซต์ของคุณเอง และจะต้องอัปเดตข้อมูลบ่อยๆด้วยตัวเอง

อย่างไรก็ตาม Dune จะแยกวิเคราะห์ข้อมูลนี้โดยใช้ฐานข้อมูลเชิงสัมพันธ์แบบโอเพนซอร์สอย่าง PostgreSQL ซึ่งจัดระเบียบข้อมูลลงในตารางเพื่อให้คุณสามารถสืบค้นและรับข้อมูลที่ต้องการได้อย่างง่ายดาย

ด้วยการสำรวจ dashboard ต่างๆ คุณอาจเป็นคนแรกๆ ที่ได้เจอข้อมูลสำคัญ! ตัวอย่างเช่น ที่แทป Discover บนหน้าเพจ ช่วยให้คุณจัดอันดับ dashboard ตามรายการโปรด แนวโน้มหรือ dashboard ใหม่ๆ คุณยังสามารถป้อนคำค้นหาหรือใช้แท็ก dashboard ยอดนิยมเพื่อค้นหาข้อมูลที่คุณต้องการ

![](https://storage.googleapis.com/papyrus_images/df0c99098d5cc9cce91317e4d54095d82a1a068b7c3989077b40f2cf1205509e.png)

และคุณยังสามารถหาข้อมูลลึกๆของคุณเองได้ (ถ้าคุณยินดีที่จะแบ่งปัน!)

วิธีการมีดังนี้: สร้างการสืบค้นข้อมูลที่กำหนดเองเพื่อดึงข้อมูล แปลผลลัพธ์ของการสืบค้นเหล่านี้ลงในแผนภูมิ และสุดท้ายบอกเล่าเรื่องราวของคุณโดยใช้ dashboard ซึ่งสามารถจัดเป็นหนึ่งในสามประเภทต่อไปนี้:

1.  **Project specific:** จะเป็นข้อมูลเบื้องลึกเกี่ยวกับ project นั้นๆอย่างเช่น dashboard ของ [Perpetual Protocol v2](https://dune.com/yenwen/perpetual-protocol_2) ที่สร้างโดยคุณ [Yenwen Feng](https://twitter.com/tempofeng) co-founder ของ Perpetual Protocol
    
2.  **Sector specific:** จะเป็น [dashboard](https://dune.com/bharvey/DeFi-Derivatives-on-Ethereum) ที่มีข้อมูลภาพรวมของ sector นั้นๆตัวอย่างเช่น ข้อมูลเปรียบเทียบปริมาณการซื้อขายบน derivatives บน DEX หลายๆแห่ง
    
3.  **Ecosystem overview:** ตัวอย่างเช่น dashboard ทื่แสดงข้อมูลของ DApps ต่างๆที่อยู่บน [Optimism](https://dune.com/optimismfnd/Optimism) ที่ผู้ใช้งานสามารถเปรียบเทียบ project ที่อยู่บน chain เดียวกัน \*\* \*\*
    

ในบทความนี้ เราจะ focus ในการจัดทำ dashboard ในประเภทแรกเที่เกี่ยวข้องโดยตรงกับ project ที่น่าจะมีประโยชน์กับนักเทรด และคนวางสภาพคล่องบน Perp

วิธีการสร้าง Dashboard
----------------------

ขั้นตอนในการสร้าง dashboard ประกอบไปด้วยสามขั้นตอน:'

1.  สร้างการดึงข้อมูล เพื่อเรียกข้อมูลมาดู
    
2.  นำข้อมูลมาทำ visualization
    
3.  นำเอา visualization หลายๆอันมาประกอบเข้าเป็น dashboard
    

บน Dune การดึงข้อมูล และชุดข้อมูล ถูกเปิดเป็นสาธารณะ คุณสามารถค้นหาวิธีการดึงข้อมูลจาก project อื่น sector หรือ ecosystem อื่น โดยใช้ แถบค้นหา เพื่อให้ได้แนวคิดในการดึงข้อมูล วิธีที่ดีที่สุดในการเริ่มต้นหากคุณเพิ่งเริ่มใช้ PostgreSQL คือการเรียนรู้โดยทำ: ตรวจสอบโค้ดที่ใช้สร้างดึงข้อมูล และ บันทึกลงในรายการโปรด

ลองดู [video](https://www.youtube.com/watch?v=qw--VYLpxG4) สอนการใช้งาน _PostgreSQL_ เพิ่มเติม

สำหรับ dashboard ใดๆ คุณสามารถคลิกที่ แผนภูมิใดแผนภูมิหนึ่ง เพื่อแสดง code ในการเรียกข้อมูล และคุณเองก็สามารถที่จะนำแผนภูมิไปยัง dashboard ของคุณเอง หรือปรับ code สำหรับการใช้งานของคุณเองได้โดยการ fork

![](https://storage.googleapis.com/papyrus_images/19178935c7e8b90d02b3b75b2cd1a1580b3d73a8f9dd59004c05c647fb0047b8.gif)

ด้วยความที่เป็น open source ผู้ใช้สามารถผสม การดึงข้อมูล ที่เปิดเผยต่อสาธารณะ ในขณะที่เขียนคำค้นหาของตนเองเพื่อช่วยในการค้นหาข้อมูลหรือข้อมูลเชิงลึกที่พวกเขาต้องการ ในการเขียน code การดึงข้อมูล คุณจะต้องสร้างบัญชีและมีความเข้าใจพื้นฐานเกี่ยวกับภาษา SQL

ในส่วนถัดไป เราจะเน้นแดชบอร์ดที่สำคัญที่สุดสำหรับผู้ใช้งาน Perp และแสดงวิธีการสร้างของคุณเอง

การสร้าง Dune Dashboard สำหรับ Perpetual Protocol
-------------------------------------------------

เราจะเริ่มต้นด้วยการดู dashboard ที่เคยมีการสร้างไว้อยู่แล้ว ให้ไปที่แทบการค้นหาที่มุมบนซ้ายขอหน้าจอ และหาคำว่า ‘Perpetual Protocol’ จากนั้นกดเลือกที่ dashboard

![](https://storage.googleapis.com/papyrus_images/adb7e4b31d795952363f54eb298b726c6584a496a4ab91912618b3e3a517d52a.png)

คลิกที่เครื่องหมายรูปดาวเพื่อเพิ่มไปในรายการโปรด เพื่อความง่ายในการใช้งานครั้งต่อไป ที่รายการโปรดถัดจากแทบการค้นหา

![](https://storage.googleapis.com/papyrus_images/4cb8d3cb5dbfa4f86997e20ce669966f9001b2c31efbe1068d4e083268b847ff.png)

ข้อมูลสำคัญบางประการสำหรับสภาพคล่อง และนักเทรดที่สามารถดึงมาจากแดชบอร์ดนี้ได้:

### ปริมาณการซื้อขายและค่าธรรมเนียม

*   [Perpetual Protocol v2](https://dune.com/yenwen/perpetual-protocol_2) เป็น dashboard อย่างเป็นทางการที่สร้างโดย คุณ Yenwen Feng ผู้ร่วมก่อตั้งของเรา ซึ่งสรุปสถิติเกี่ยวกับ Perpetual Protocol
    
*   [dashboard](https://dune.com/momir/Perpetual-Protocol-v2) ขนาดกะทัดรัดยิ่งขึ้นที่สร้างโดย คุณ momir
    
*   [dashboard](https://dune.com/msilb7/Perpetual-Protocol-on-Optimism) ของคุณ msilb7มีการรวมถึงข้อมูลเกี่ยวกับจำนวน swap เข้ามาด้วย
    

### Optimism Gas Fees

[dashboard](https://dune.com/msilb7/Optimism-Transaction-Fee-Savings) ของคุณ msilb7 อีกหนึ่งอัน สำหรับไว้ดูค่าธรรมเนียมการทำธุรกรรมบน Optimism ซึ่งแสดงค่าธรรมเนียม gas สำหรับโปรโตคอลที่แตกต่างกันทั้ง ETH และ USD ช่วยให้คุณประเมินค่าใช้จ่ายค่าธรรมเนียมในการ เทรดของคุณบน Perp

### Funding Rates

[dashboard](https://dune.com/shogun/Perpetual-Protocol-V2-Trader-Dashboard) ของคุณ Shogun ใช้สำหรับใส่ตรวจสอบผลกำไรขาดทุนจากการเทรดที่ผ่านๆมาและ Funding Rate ที่เคยได้รับและที่ยังไม่ได้รับ

เพื่อที่จะสร้าง dashboard ของคุณขึ้นมาเอง เราจะเอา code จาก dashboard ข้างบนนี้มาสาธิตการดึงข้อมูลและแสดงผล

### ดึงข้อมูล สถิติ 24 ชั่วโมง

เพื่อที่จะได้ข้อมูลเบื้องต้นในรอบ 24 ชั่วโมบงของ Perp เราจะใช้ code ต่อไปนี้จาก Perpetual Protocol v2 dashboard

ลองทดลอง copy code ข้างล่างนี้ และสร้างการค้นหาข้อมูลใหม่ แต่ให้แน่ใจว่าคุณได้เลือก dataset ที่มาจาก Optimism (OVM 2.0):

    WITH trades AS (
    SELECT
    pc.fee / 10¹⁸ AS _fee,
    pc.trader AS _address,
    ABS(pc.”exchangedPositionNotional”) / 10¹⁸ AS _totalNotionalTraded,
    evt_block_time
    FROM perp_v2.”ClearingHouse_evt_PositionChanged” pc
    UNION ALL
    SELECT
    0 AS _fee,
    lc.maker AS _address,
    0 AS _totalNotionalTraded,
    evt_block_time
    FROM perp_v2.”ClearingHouse_evt_LiquidityChanged” lc
    )
    SELECT SUM(_fee) AS _fee,
    COUNT(*) AS _numberOfTransactions,
    count(DISTINCT(_address)) AS _uniqueTraders,
    SUM(_totalNotionalTraded) AS _totalNotionalTraded
    FROM trades
    WHERE evt_block_time > now() — interval ’24 hours’
    

![](https://storage.googleapis.com/papyrus_images/70add32d7bcff923167c63cd97cf39bbe5eb0a8473e03872495d9df241a86443.gif)

หลังจากนั้นให้ไปที่ New visualization และเลือก Counter และ ตั้งชื่อแผนภูมิที่แสดง

![](https://storage.googleapis.com/papyrus_images/82f687c09f55f09830b9c26b4cb727942c8bf7965ec041b383742cdc73188260.gif)

หลังจากเพิ่มแผนภูมิใหม่แล้ว คุณสามารถเปลี่ยนการดูข้อมูลจาก ตัวแปรที่คุณสนใจจากใน ตัวแปรในช่อง Column (และจากตัวอย่างตัวแปร `_fee` หมายถึง ค่าธรรมเนียมในการเทรด)

![](https://storage.googleapis.com/papyrus_images/60484352bb41fe92a4b1f11976b94e1d5c7749a2e6422470a5d580acbeeeda11.gif)

หลังจาก ตั้งชื่อแผนภูมิ ให้กดที่ Save เพื่อบันทึกการเรียกข้อมูล และใส่ชื่อ

![](https://storage.googleapis.com/papyrus_images/9c5be1940dfee74cd767c3fec30955f8c7e46eea3318802c2c7b8654031d6e65.png)

เมื่อการค้นหา ถูกบันทึกไว้แล้ว คุณสามารถเพิ่มแผนภูมินั้นใน dashboard ใหม่ที่คุณต้องการได้

![](https://storage.googleapis.com/papyrus_images/1cae99775d1bcc4f73b60326b15a5a53532ff178054f741cf065166211ebfdad.png)

dashboard ดูเป็นยังไงกันบ้างแล้วครับ?

![](https://storage.googleapis.com/papyrus_images/a1a2ae9003bccee908a90c95524a889752ed9e6cb502e23814728a4db2620580.png)

ยังทำให้ดูดีกว่านี้ได้อยู่ อย่างแรกเลยที่ปุ่ม Edit คุณสามารถที่จะเลื่อน ปรับขนาด และอย่างที่สองคือ มันดูว่างไปหน่อย เราลองมาเพิ่มข้อมูลกัน

### เพิ่มข้อมูล ยอดการเทรดรายวัน และ ยอดการเทรดสะสม

แกะจาก code ของคุณ [momir](https://dune.com/queries/290040/547786) ข้างล่างนี้ code มีแค่ 5 บรรทัดเพื่อที่จะเรียกข้อมูล การเทรดรายวัน และ การเทรดสะสม

    SELECT date_trunc(‘day’, evt_block_time) AS day, 
    
    sum(ABS(“exchangedPositionNotional”) / 10¹⁸) AS volume_,sum(sum(ABS(“exchangedPositionNotional”) / 10¹⁸)) over (order by date_trunc(‘day’, evt_block_time)) as cumulative_volume
    
    from perp_v2.”ClearingHouse_evt_PositionChanged”
    
    group by 1
    
    ORDER BY 3 DESC
    

คราวนี้ลองรัน code ข้างบนโดยเลือก Optimism (OVM 2.0) จากตาราง และทำการสร้างแผนภูมิพื้นที่ สำหรับปริมาณการเทรดรายวันและการเทรดสะสม หลังจากนั้นให้กดบันทึก และไปเพิ่มแผนภูมินี้ใน dashboard

![](https://storage.googleapis.com/papyrus_images/616eb4862dd49997289663b615405f62062f5ace6ffb79f47717f487313f9cea.png)

เริ่มดูดีขึ้น! แต่ยังขาดข้อมูลที่น่าจะเป็นประโยชน์กับคนวาง LP และ นักเทรด

### เพิ่ม ปริมาณและจำนวนครั้งในการแลกเปลี่ยน โดยแยกตามตลาด

คราวนี้จะลอง เพิ่มปริมาณในการเทรด สำหรับแต่ละตลาด

**ทำไมเราดูปริมาณการซื้อขาย?**

นักเทรดอาจจะอยากจับตามองปริมาณการซื้อขายที่มากขึ้นของบางตลาด ที่อาจใช้ทำนายการเคลื่อนไหวของราคา หรือ แนวโน้มของราคาได้ ในทางกลับกัน คนวาง LPs อาจแสวงหาตลาดที่มีปริมาณการวาง LPs ที่ต่ำสุด เพื่อสร้างผลตอบแทนจากสถานะสภาพคล่องที่สูงขึ้น คนวาง LPs สามารถสร้างรายได้จากค่าธรรมเนียมและ[รางวัล](https://blog.perp.fi/introducing-liquidity-mining-program-for-perp-v2-a56866da25bc) มากขึ้นในตลาด ที่มีมีคนวาง LP ปริมาณน้อย เมื่อเทียบกับตลาดที่มีคนวาง LPs ปริมาณมาก เนื่องจากการ เนื่องจากสินทรัพย์ที่พวกเขาวางจะมีสัดส่วนที่มากขึ้น ในกองที่มีสภาพคล่องน้อย

**ทำไมเราดูจำนวนครั้งในการแลกเปลี่ยน?**

จำนวนครั้งในการแลกเปลี่ยนจะบ่งบอกว่านักเทรดส่วนใหญ่มีความเคลื่อนไหวอยู่ในตลาดไหน โดยกิจกรรมการซื้อขายที่มากขึ้น (เช่น จำนวน swap ที่สูงขึ้น) มักจะเกี่ยวข้องกับแนวโน้มขาขึ้น ในขณะที่กิจกรรมการซื้อขายที่ต่ำกว่ามักจะมีความหมายเหมือนกันกับแนวโน้มตลาดหมี

ข้อมูลสำหรับปริมาณการซื้อขายของแต่ละตลาดและจำนวนแลกเปลี่ยนใน Perp สามารถเรียกค้นได้ด้วย [code](https://dune.com/queries/369213) ต่อไปนี้โดย msilb7 ซึ่งสามารถแยกและเพิ่มไปยังแดชบอร์ดของเรา:

![](https://storage.googleapis.com/papyrus_images/c3ff4097c61be347bf8b75a8da798f2ab17f5215ef8efb1f13252112aaaf18b2.png)

หลังจากบันทึกการสืบค้นแบบแยกส่วนแล้ว เราจะเพิ่มแผนภูมิแท่งสำหรับปริมาณรายวันและจำนวนการแลกเปลี่ยนรายวัน ตามตลาด เช่นเดียวกับแผนภูมิวงกลม เพื่อแสดงว่าตัวเลขเหล่านี้กระจายไปยังตลาดต่างๆ อย่างไร

ตอนนี้เป็นรูปเป็นร่างแล้ว!

![](https://storage.googleapis.com/papyrus_images/cebb0b4e8c81ce52ad5d5ffcccd633e99d480825e7228393760ab3602f05fea5.gif)

### เพิ่ม Optimism Gas Fees

ผู้ใช้ของ Perp บางกลุ่มยังต้องการติดตามค่า gas บน Optimism อีกด้วย โชคดีที่เราสามารถสร้างแผนภูมิเพื่อแสดงต้นทุนค่า gas เฉลี่ยสำหรับการดำเนินการซื้อขายหรือเปิดสถานะสภาพคล่อง โดยสามารถเปรียบเทียบกับการทำธุรกรรมโดยการการโอน ETH แบบธรรมดา และธุรกรรมในการซื้อขายบน Uniswap v3

เราสามารถทำได้โดยการปรับ code ของ msilb7 และเพิ่ม code ของเราเอง เราแก้ไข code เพื่อรับมุมมองระยะยาวของค่า gas ในช่วง 5 เดือนที่ผ่านมา และให้รวมเฉพาะการซื้อขายใน Perp การซื้อขายในการโอน Uniswap และ ETH อีกครั้ง หลังจากบันทึกการสืบค้นแล้ว เราสามารถเพิ่มแผนภูมิข้อมูลสำหรับค่าธรรมเนียมน้ำมันใน ETH และ USD ลงในแดชบอร์ดของเราได้

**ที่มา**

\\A Beginner’s Guide to Dune Analytics

[https://blog.perp.fi/a-beginners-guide-to-duneanalytics-525229eb45d6](https://blog.perp.fi/a-beginners-guide-to-duneanalytics-525229eb45d6) \\

---

*Originally published on [investgineer](https://paragraph.com/@investgineer/dune-analytics)*
