ניטור והתראות TVL לפרוטוקולי DeFi

ירידה חדה ב-TVL עשויה להצביע על פריצה או יציאת נזילות, בעוד שצמיחה חריגה עלולה להעיד על מניפולציה. אנו מקימים ניטור של ה-Total Value Locked בפרוטוקול ה-DeFi שלכם עם התראות בזמן אמת. הצוות שלנו מספק פרויקט מפתח בידיים מלאות—מביקורת ארכיטקטורה ועד ללוחות Grafana—עם תמיכה מתמשכת.

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

שאלות נפוצות

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

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1481
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1335
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1034
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1293
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    738
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1031

TVL הוא מדד תפעולי של פרוטוקול DeFi, לא מדד שיווקי. נתקלנו במשימות ניטור לפרוטוקולים עם TVL שנע בין $1M ל-$500M. ירידה פתאומית של 30% בשעה—או פריצה או משיכת שטיח של LP גדול. זינוק של 500% ביום ללא עלייה תואמת בעסקאות—מניפולציה חשודה לרישום ב-DeFiLlama. שני התרחישים דורשים מערכת שרואה שינויים בזמן אמת ויכולה לפרש אותם. עם ניסיון של 10+ שנים ב-DeFi ו-50+ פרויקטים מיושמים, המומחיות שלנו מבטיחה דיוק ואמינות. בקשו ייעוץ כדי לדון בארכיטקטורת הניטור שלכם.

Chainlink Data Feeds

כיצד לחשב TVL נכון

הבעיה של חשבונאות רב-מטבעית

הגישה הנאיבית: סכום balanceOf של כל הטוקנים בחוזי הפרוטוקול בדולרים במחירים נוכחיים. זה עובד עד שנתקלים בתרחישים הבאים:

  • הפרוטוקול מקבל טוקני LP של Uniswap V2 כבטוחה. balanceOf(LP_token) הוא מספר טוקני ה-LP, לא דולרים. צריך לחשב את הנכסים הבסיסיים דרך getReserves() של הפול.
  • טוקנים סינתטיים (sUSD, stETH): המחיר שלהם ≠ מחיר הנכס הבסיסי במהלך דה-פיג. יש צורך ב-feed מחירים נפרד, שלא תמיד זמין.
  • פוזיציות נזילות מרוכזות (Uniswap V3 NFT): הערך תלוי במחיר הנוכחי ובטווח הפוזיציה—יש צורך במתמטיקת tick/sqrtPrice מחוץ לרשת.

ארכיטקטורה נכונה: כל סוג נכס מקבל אדפטר נפרד עם הלוגיקה resolveToUSD(address asset, uint256 amount) → uint256. זה הדפוס שבו משתמשת DeFiLlama באדפטרים שלהם.

Chainlink לעומת מחירי AMM

Chainlink Data Feeds הם תקן הזהב לנכסים מרכזיים (ETH, BTC, USDC, ERC-20s מרכזיים). Heartbeat: שעה אחת לסטייבלקוינס, שעה אחת לנכסים גדולים. הבעיה: אין feed של Chainlink לטוקנים עם זנב ארוך.

גיבוי: Uniswap V3 TWAP דרך IUniswapV3Pool.observe() עם periodSecond = 1800 (30 דקות). TWAP מגן מפני מניפולציה של הלוואות פלאש, אבל בפולים עם נזילות נמוכה זה לא מדויק.

חשוב: feeds של Chainlink יכולים להחזיר נתונים מיושנים. תמיד בדקו את answeredInRound >= roundId ו-updatedAt > block.timestamp - staleness_threshold.

למה חישוב מחוץ לרשת יעיל יותר מאשר על הרשת?

חישוב TVL כולו על הרשת דרך חוזה חכם getTVL() מושך לשקיפות, אבל:

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

גישה טובה יותר: שירות מחוץ לרשת עם גישה לצומת ארכיון. אלגוריתם:

  1. קבלת יתרות דרך eth_call בקבוצות (Multicall3 ליעילות)
  2. בקשת מחירים מ-Chainlink + API של DeFiLlama + CoinGecko Pro
  3. חישוב TVL עם נורמליזציה של עשרוניות
  4. כתיבת תמונת מצב למסד נתונים עם מספר בלוק וחותמת זמן
  5. שירות דרך API ולוח מחוונים

תדירות: כל בלוק להתראות קריטיות (~12 שניות באת'ריום), כל 5 דקות לנתונים היסטוריים.

שירות מחוץ לרשת מהיר פי 10 מ-Dune Analytics בהשהיה וחוסך עד 60% בעלויות תשתית. לדוגמה, ב-TVL של $100M, החיסכון יכול להגיע עד $5,000 בחודש. צרו קשר להערכה מדויקת.

The Graph Subgraph ל-TVL

The Graph מאפשר להירשם לאירועי חוזה חכם ולאגד נתונים ב-GraphQL. לניטור TVL, ה-subgraph מעבד אירועים:

  • Deposit(address user, address asset, uint256 amount) — עליית TVL
  • Withdraw(address user, address asset, uint256 amount) — ירידת TVL
  • Liquidation(...) — שינויי בטוחה

הבעיה של ה-subgraph: מחירים לא מאוחסנים על הרשת; יש צורך באינטגרציית אורקל דרך handler מסוג @priceOracle. זה מאט את האינדוקס ומוסיף תלות.

חלופה מהירה יותר לפריסה: Dune Analytics עם שאילתות SQL על נתוני את'ריום מאונדקסים. עובד ללא פיתוח, אבל ההשהיה גבוהה יותר (5-15 דקות).

כיצד להגדיר התראות לשינויי TVL חדים?

דפוס זיהוי חריגות:

currentTVL < previousTVL * (1 - threshold) → CRITICAL alert
currentTVL > previousTVL * (1 + spike_threshold) → WARNING (possible manipulation)

סף לקריטי: 10% בבלוק אחד הוא חריגה ברורה. 30% ב-5 דקות הוא אירוע קריטי.

ערוצי התראה: Telegram Bot API להתראות מיידיות, PagerDuty לתורנות, Slack webhooks להתראות צוות. לפרוטוקולי DeFi עם TVL > $1M, ניטור 24/7 הוא חובה.

שיטה השהיה עלות (טווח) מורכבות
שירות מותאם אישית מחוץ לרשת ~בלוק (12 שניות) גבוהה (צומת) גבוהה
The Graph subgraph 1-5 דקות בינונית (אירוח) בינונית
Dune Analytics 5-15 דקות נמוכה (SQL) נמוכה
API של DeFiLlama 5-15 דקות אפס נמוכה
חישוב TVL מפורט לטוקני LP

לטוקני LP של Uniswap V2: קבלו רזרבות פול דרך currentTVL < previousTVL * (1 - threshold) → CRITICAL alert currentTVL > previousTVL * (1 + spike_threshold) → WARNING (possible manipulation) , ואז החלק של טוקן ה-LP בפול: getReserves(). ל-Uniswap V3 NFTs: ספרייה מחוץ לרשת שמחשבת את ערך הפוזיציה על בסיס tick, sqrtPrice וטווח.

אינטגרציה עם לוחות מחוונים

Grafana + InfluxDB הוא הסט הטכנולוגי הסטנדרטי לסדרות זמן של TVL. מדדים: (balanceOf(LP) / totalSupply) * (reserve0 * price0 + reserve1 * price1), tvl_total, tvl_by_asset, tvl_by_chain, tvl_change_1h.

אדפטר DeFiLlama: אם פרוטוקול רוצה להופיע ב-DeFiLlama, הוא צריך PR עם אדפטר במאגר שלהם. האדפטר הוא פונקציית JavaScript tvl_change_24h שמשתמשת בממשק tvl(api) שלהם. אנחנו כותבים ומתחזקים את האדפטרים האלה.

לוח מחוונים מותאם אישית: React + recharts או תרשימים מוטמעים של Dune Analytics לעמוד הציבורי של הפרוטוקול. נתונים דרך נקודת קצה API משלכם או ישירות מה-subgraph דרך Apollo Client.

סוג נכס אדפטר מקור מחיר
ERC-20 יתרה ישירה Chainlink
טוקני LP של Uniswap V2 api.add(token, balance) Chainlink / TWAP
Uniswap V3 NFT מתמטיקת tick מחוץ לרשת TWAP

מה כלול

  • מלאי של חוזי פרוטוקול וסוגי נכסים
  • פיתוח אדפטרים לכל סוג נכס
  • בחירה והתקנה של הסט הטכנולוגי (שירות מחוץ לרשת, subgraph, Dune)
  • הגדרת התראות (Telegram, PagerDuty, Slack)
  • יצירת לוח מחוונים (Grafana או React מותאם אישית)
  • אינטגרציית DeFiLlama (אדפטר + PR)
  • תיעוד והדרכת צוות
  • תמיכה בהוספת פולים חדשים או מיגרציות

תהליך

אנליטיקה (יום אחד). מלאי של חוזי פרוטוקול, סוגי נכסים מתקבלים, אירועים למעקב, דרישות השהיה להתראות.

פיתוח (1-3 ימים). בחירת סט טכנולוגי לפי דרישות → יישום → הגדרת התראות → פריסת לוח מחוונים.

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

הערכות זמן

ניטור בסיסי דרך The Graph + התראות Telegram: 1-2 ימים. מערכת מלאה עם שירות מותאם אישית, לוח מחוונים של Grafana ואינטגרציית DeFiLlama: 3-5 ימים.

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