לוחות מחוונים אנליטיים מותאמים אישית ב-Dune: פיתוח מקצה לקצה

לוחות מחוונים אנליטיים מותאמים אישית ב-Dune: פיתוח מקצה לקצה השקת פרוטוקול DeFi ואתה רוצה את התמונה האמיתית: כמה משתמשים קוראים לחוזה החכם שלך מדי יום, נפח נזילות בבריכות, שינויים ב-TVL. משיכת נתונים ידנית מ-Etherscan או The Graph מבזבזת שעות של לחיצות, ו-da

שירותי פיתוח בלוקצ'יין

שאלות נפוצות

העבודות האחרונות

  • image_website-b2b-advance_0.webp
    פיתוח אתר חברה B2B ADVANCE
    1451
  • image_web-applications_feedme_466_0.webp
    פיתוח אפליקציית ווב עבור FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    פיתוח אתר עבור BELFINGROUP
    1005
  • image_ecommerce_furnoro_435_0.webp
    פיתוח חנות מקוונת לחברת FURNORO
    1270
  • image_logo-advance_0.webp
    עיצוב לוגו לחברת B2B Advance
    719
  • image_crm_enviok_479_0.webp
    פיתוח אפליקציית ווב עבור Enviok
    1011

לוחות מחוונים אנליטיים מותאמים אישית ב-Dune: פיתוח מקצה לקצה

השקת פרוטוקול DeFi ואתה רוצה לראות את התמונה האמיתית: כמה משתמשים קוראים לחוזה החכם שלך מדי יום, נפח נזילות בבריכות, שינויים ב-TVL. משיכת נתונים ידנית מ-Etherscan או The Graph מבזבזת שעות של לחיצות, ולוחות מחוונים מוכנים מראש מפספסים את הטוקנומיקה שלך ואת האירועים הספציפיים. אנחנו פותרים את זה: אנחנו בונים לוחות מחוונים מותאמים אישית על Dune Analytics שמספקים תשובות בשניות, לא בשעות. החיסכון באנליטיקה מגיע ל-$3,000 בחודש, עם ROI מתחת ל-3 חודשים.

הניסיון שלנו — 10+ שנים בפיתוח בלוקצ'יין, מעל 50 לוחות מחוונים מוצלחים לפרוטוקולי DeFi, אוספי NFT ופרויקטי תשתית. אנחנו לא רק כותבים SQL: אנחנו בונים מוצרים שחוסכים במשאבי הצוות שלך. המורכבות של Dune היא לא הכלי — היא הבנת מבנה נתוני הבלוקצ'יין במודל רלציוני. JOIN אחד שגוי והשאילתה שלך רצה 5 דקות במקום שניות. אנחנו יודעים איך להימנע מזה.

מבנה נתונים ב-Dune

Dune עובד עם שתי רמות טבלאות. שימוש בטבלאות מפוענחות מקצר את זמן השאילתה ב-70%.

סוג טבלה דוגמאות מטרה
גולמי ethereum.transactions, ethereum.logs נתוני on-chain גולמיים, דורש פענוח של data ו-topics
מפוענח uniswap_v3_ethereum.Pair_evt_Swap אירועי פרוטוקול עם עמודות מנורמלות (מהיר יותר, אין צורך בפענוח)

בנוסף, קיימות הפשטות נתונים: dex.trades, prices.usd מ-Spellbook. הן מאגדות נתונים על פני מספר פרוטוקולים, ומבטלות את הצורך בכתיבת JOINs על כל פרויקט.

טעויות נפוצות ואופטימיזציה

טעות תיקון רווח
סריקה מלאה ללא מסנן תאריך הוסף WHERE block_time >= now() - interval '90 days' האצה פי 10–50
JOIN על erc20_ethereum.evt_Transfer ללא טווח הגבל evt_block_time הפחתת עומס ב-95%

למה אופטימיזציה של שאילתות SQL חשובה

סריקה מלאה ללא מסנן תאריך היא הגורם מספר אחת לזמני timeout. תמיד סנן block_time:

-- ПЛОХО: полный скан всей истории SELECT date_trunc('day', block_time), count(*) FROM ethereum.transactions WHERE "to" = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 -- ХОРОШО: ограничиваем 90 днями SELECT date_trunc('day', block_time), count(*) FROM ethereum.transactions WHERE "to" = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 AND block_time >= now() - interval '90 days' 

JOINs מוגזמים על -- ПЛОХО: полный скан всей истории SELECT date_trunc('day', block_time), count(*) FROM ethereum.transactions WHERE "to" = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 -- ХОРОШО: ограничиваем 90 днями SELECT date_trunc('day', block_time), count(*) FROM ethereum.transactions WHERE "to" = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 AND block_time >= now() - interval '90 days' — הטבלה מכילה מיליארדי שורות. הוסף טווח זמן:

-- ПЛОХО: JOIN без фильтра SELECT t.from, SUM(t.value) FROM erc20_ethereum.evt_Transfer t JOIN my_users u ON t."from" = u.address WHERE t.contract_address = 0xdAC17F958D2ee523a2206206994597C13D831ec7 GROUP BY 1 -- ХОРОШО: с фильтром по evt_block_time SELECT t.from, SUM(t.value / 1e6) as usdt_sent FROM erc20_ethereum.evt_Transfer t JOIN my_users u ON t."from" = u.address WHERE t.contract_address = 0xdAC17F958D2ee523a2206206994597C13D831ec7 AND t.evt_block_time >= now() - interval '30 days' GROUP BY 1 ORDER BY 2 DESC 

תבנית Snapshot + Delta

עבור לוחות מחוונים עם עומק היסטורי מעל 30 יום, אנחנו משתמשים בסכימת שתי שכבות:

  • Snapshot: שאילתה כבדה רצה פעם ביום (מאוחסנת במטמון).
  • Delta: שאילתה קלה עבור 24 השעות האחרונות.
  • מיזוג באמצעות erc20_ethereum.evt_Transfer.

זה נותן למשתמש נתונים עדכניים ללא זמני המתנה של 5 דקות. חיסכון בזמן חישוב — עד 90%.

WITH historical AS ( SELECT * FROM snapshot_table -- пересчитывается раз в день ), delta AS ( SELECT * FROM live_table WHERE evt_block_time >= now() - interval '1 day' ) SELECT * FROM historical UNION ALL SELECT * FROM delta 

מה זה Spellbook ולמה להשתמש בו?

Spellbook (Dune V2) הוא פרויקט dbt עם מודלים מוכנים: -- ПЛОХО: JOIN без фильтра SELECT t.from, SUM(t.value) FROM erc20_ethereum.evt_Transfer t JOIN my_users u ON t."from" = u.address WHERE t.contract_address = 0xdAC17F958D2ee523a2206206994597C13D831ec7 GROUP BY 1 -- ХОРОШО: с фильтром по evt_block_time SELECT t.from, SUM(t.value / 1e6) as usdt_sent FROM erc20_ethereum.evt_Transfer t JOIN my_users u ON t."from" = u.address WHERE t.contract_address = 0xdAC17F958D2ee523a2206206994597C13D831ec7 AND t.evt_block_time >= now() - interval '30 days' GROUP BY 1 ORDER BY 2 DESC (מחירי טוקנים), UNION ALL (כל החלפות DEX), WITH historical AS ( SELECT * FROM snapshot_table -- пересчитывается раз в день ), delta AS ( SELECT * FROM live_table WHERE evt_block_time >= now() - interval '1 day' ) SELECT * FROM historical UNION ALL SELECT * FROM delta (סמלים ועשרוניות). אין צורך לבצע JOIN לפיידי מחיר בכל פעם — השתמש בטבלאות מובנות מראש. אנחנו משלבים את Spellbook בכל לוח מחוונים כדי להאיץ את הפיתוח פי 2. תיעוד Spellbook הרשמי מכיל את הרשימה המלאה של המודלים.

דוגמה: TVL של פרוטוקול

WITH deposits AS ( SELECT date_trunc('day', evt_block_time) AS day, token, SUM(amount / POWER(10, decimals)) AS amount FROM protocol_ethereum.Pool_evt_Deposit JOIN tokens.erc20 ON token = contract_address AND blockchain = 'ethereum' WHERE evt_block_time >= now() - interval '180 days' GROUP BY 1, 2 ), withdrawals AS ( SELECT date_trunc('day', evt_block_time) AS day, token, -SUM(amount / POWER(10, decimals)) AS amount FROM protocol_ethereum.Pool_evt_Withdraw JOIN tokens.erc20 ON token = contract_address AND blockchain = 'ethereum' WHERE evt_block_time >= now() - interval '180 days' GROUP BY 1, 2 ), daily_flows AS ( SELECT day, token, SUM(amount) AS net_flow FROM (SELECT * FROM deposits UNION ALL SELECT * FROM withdrawals) GROUP BY 1, 2 ) SELECT day, token, SUM(net_flow) OVER (PARTITION BY token ORDER BY day) AS cumulative_tvl FROM daily_flows ORDER BY day DESC, token 

ארכיטקטורת לוח מחוונים

לוח מחוונים טוב הוא מוצר. היררכיית מדדים: KPI ברמה העליונה (TVL, נפח, משתמשים) → פירוט (לפי רשת, טוקן) → פרטים (כתובות מובילות). השתמש בפרמטרים כמו prices.usd לאינטראקטיביות. לדוגמה, לוח מחוונים ל-AMM מאפשר לך לבחור בריכה, טווח זמן, ולראות מיד נפח, עמלות, הפסד בלתי קבוע.

איך אנחנו בונים לוח מחוונים: תהליך שלב אחר שלב

  1. ניתוח הפרוטוקול והגדרת מדדי מפתח. חקור את ABI של החוזה, זהה אירועי הפקדה, משיכה, החלפה. מפה שדות.
  2. כתיבת שאילתות SQL עם אופטימיזציית זמן (הפחתת חביון ב-70%). השתמש בטבלאות מפוענחות וב-Spellbook.
  3. הגדרת ויזואליזציות: בחירת סוגי תרשימים (קו, עמודות, שטח), פרמטריזציה (מסנני רשת, טווחי תאריכים), מטמון.
  4. תיעוד לוגיקת החישוב עבור הצוות שלך — תאר כל מדד, נוסחה, קישורי חוזה.
  5. פרסום פומבי עם תמיכה. לאחר השחרור, אנו מנטרים שגיאות ומתאימים שאילתות על פורקס.

תהליך עבודה

  • אנליטיקה: בחינת חוזה חכם, זיהוי אירועי מפתח.
  • עיצוב: יצירת אב טיפוס של לוח מחוונים ב-Dune.
  • יישום: כתיבת שאילתות SQL אופטימליות, הגדרת פרמטרים.
  • בדיקות: בדיקת טווחי זמן, נכונות אגרגציה.
  • פריסה: פרסום לוח המחוונים, הפעלת מטמון.

לוחות זמנים — בין 3 ל-10 ימים תלוי במורכבות. צור קשר לפתרון מותאם אישית לפרוטוקול שלך. הזמן פיתוח turnkey: אנו מבטיחים שכל השאילתות רצות מתחת ל-30 שניות, עדכוני מטמון במרווחים מוגדרים, ולוח המחוונים מתפרסם פומבית. קבל ייעוץ היום.