בניית בריכות Uniswap v4 מותאמות אישית עם Hooks

פתרונות סטנדרטיים של Uniswap מגבילים את הפוטנציאל של מוצר ה-DeFi שלך ומונעים יישום של מנגנוני מסחר או הגנה ייחודיים. אנחנו מפתחים pools מותאמים אישית על Uniswap v4 עם hooks, ומספקים עמלות דינמיות, פקודות limit וסצנריות נוספים במפתח פתוח. הצוות שלנו מטפל בכל התהליך—מבדיקות ופיתוח ועד deployment ותמיכה שוטפת, ומבטיח אמינות ואבטחה לפתרון שלך.

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

שאלות נפוצות

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

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

בונים pool מותאם אישית של Uniswap v4? המעבר הארכיטקטוני ל-hooks מציג גם גמישות וגם מורכבות. Hooks מאפשרים לכם להריץ קוד שרירותי לפני ואחרי כל פעולת pool — אתחול, החלפה, הוספה/הסרה של נזילות, תרומה. זה פותח מכניקות שלא היו זמינות ב-v2 ו-v3: עמלות דינמיות, ספרי הזמנות on-chain, איזון מחדש אוטומטי, הגנת MEV ישירות בתוך ה-pool. המחיר של הגמישות הוא מורכבות: חוזה ה-hook רץ בתוך PoolManager דרך קריאה חוזרת של unlock עם מערכת חשבונאות של BalanceDelta. שגיאה אחת ב-hook יכולה לנעול את כל ה-pool או לרוקן נזילות. הניסיון שלנו של 10+ שנים ב-DeFi ו-50+ פרויקטי blockchain מבטיח בטיחות ויעילות.

תחילת פיתוח Pool מותאם אישית של Uniswap v4

ארכיטקטורת Uniswap v4: מה השתנה מהותית

ב-v2/v3, כל pool הוא חוזה נפרד. ב-v4, כל ה-pools חיים בתוך PoolManager אחד. זה מקצר את עלות יצירת pool מכ-500k ל-~150k gas, והופך החלפות מרובות-קפיצים להרבה יותר זולות (ללא העברות בין חוזים). חשבונאות הטוקנים משתמשת ב-PoolManager — לא העברות אמיתיות, אלא deltas שמצטברים ומסתדרים בסוף קריאת unlock. בזמן ש-PoolKey נעול (בתוך beforeSwap אחד), טוקנים לא זזים פיזית. זה מאפשר flash accounting: החלפה, שימוש בטוקנים שהתקבלו לכל מטרה, החזרת החוב — הכל בעסקה אחת ללא flash loan. חיסכון ב-gas מגיע ל-40% בהשוואה ל-v3.

מערכת ה-Hooks: כתובת כ-Bitmask

חוזה ה-hook נרשם ביצירת ה-pool דרך afterSwap. כתובת ה-hook מקודדת קריאות חוזרות מותרות דרך bits מובילים: bits ספציפיים חייבים להיות מוגדרים כדי להפעיל hooks תואמים. beforeAddLiquidity — bit 7, v4-template — bit 6, beforeInitialize — bit 5, וכן הלאה. זה אומר שאי אפשר לבחור את כתובת ה-hook באופן שרירותי — חייבים לכרות כתובת vanity עם ה-bits הנדרשים דרך CREATE2. כלים: afterInitialize מ-Uniswap, סקריפטים של Foundry לכריית כתובות. יש 14 hooks אפשריים:

Hook תיאור
beforeAddLiquidity / afterAddLiquidity לפני/אחרי יצירת pool
beforeRemoveLiquidity / afterRemoveLiquidity לפני/אחרי הוספת נזילות
beforeSwap / afterSwap לפני/אחרי הסרה
beforeDonate / afterDonate לפני/אחרי החלפה
beforeSwapReturnDelta / afterSwapReturnDelta לפני/אחרי תרומה ל-pool
afterAddLiquidityReturnDelta שינוי פלט ההחלפה
afterRemoveLiquidityReturnDelta לקיחת עמלות אחרי החלפה
lpFeeOverride התאמת יתרת LP
beforeSwap התאמת יתרת בעת הסרה

איך עובדים Uniswap v4 Hooks?

עמלות דינמיות דרך beforeSwap

ב-v3, עמלות קבועות (0.05%, 0.3%, 1%). ב-v4, ה-hook יכול להחזיר afterSwap ישירות ב-PoolManager, ולשנות את העמלה עבור כל החלפה באופן דינמי. זה מאפשר:

  • עמלות תלויות תנודתיות: הזנת מחיר של Chainlink + חלון תנודתיות נע → עמלה של 1% בזמן תנודתיות גבוהה, 0.05% בזמן נמוכה. LPs מקבלים פיצוי הוגן על סיכון אובדן זמני.
  • עמלות מבוססות TWAP: אם המחיר הנוכחי חורג מ-TWAP ביותר מ-X%, הגדל את העמלה — הגנה מפני ארביטראז' מונע אורקל.

פקודות Limit דרך Hooks מבוססי Tick

עם PoolManager, ה-hook יודע שהתרחשה החלפה והמחיר זז. אם ה-tick הנוכחי חוצה רמה שנקבעה מראש — בצע פקודת limit: קנה/מכור נזילות ממפה של פקודות. זהו ספר הזמנות limit on-chain מלא ללא sequencer מרכזי. מורכבות: gas עבור מעבר על פקודות. פתרון: ביצוע עצלן — פקודות מתבצעות באינטראקציית ה-tick הבאה.

TWAMM (Time-Weighted Average Market Maker)

פקודות גדולות מחולקות לפקודות וירטואליות קטנות שמבוצעות ברציפות לאורך זמן. ה-hook צובר טוקנים מפקודות TWAMM ומבצע אותן בהדרגה דרך ה-pool, תוך הימנעות מ-slippage. זה פותר את בעיית פקודות ה-whale — החלפה של $10M בבלוק אחד מזיזה את המחיר ויוצרת הזדמנויות sandwich. hook של TWAMM פורס אותה על פני 1000 בלוקים. מתמטיקה: פקודות וירטואליות מחושבות דרך נוסחת התפלגות אקספוננציאלית.

בפרויקט אחד, בנינו hook של עמלה תלוית תנודתיות: בזמן קריסת שוק, העמלות עלו אוטומטית ל-1% והגנו על LPs, בעוד שבתקופות רגועות הן ירדו ל-0.05%. זה הפחית את האובדן הזמני ב-30% בהשוואה ל-pool סטטי של 0.3%.

טעויות נפוצות בפיתוח Hooks

  • Reentrancy דרך NoSuchPool. ל-AlreadyUnlocked יש lock משלו, אבל ה-hook יכול לקרוא לחוזים חיצוניים שנכנסים שוב ל-pool. PoolManager, DeltaNotSettled — שגיאות נפוצות. כלל: ב-hooks, הימנעו מקריאות חיצוניות מלבד בקשות קריאה בלבד.
  • BalanceDelta שגוי. ה-hook מחזיר delta של טוקן. אם מחושב לא נכון — afterSwapReturnDelta נכשל עם PoolManager. מקרה נפוץ: PoolSwapTest מנסה לקחת יותר מה-delta אחרי ההחלפה.
  • כריית כתובות לייצור. כריית CREATE2 לוקחת מדקות עד שעות בהתאם למספר ה-bits הנדרשים. עבור 14 hooks — ~16,384 ניסיונות בממוצע.

למה Pools מותאמים אישית של v4 עדיפים על v3?

מכיוון שכל הקוד רץ בתוך forge script אחד, תקורה מקריאות בין-חוזים מופחתת. עמלות דינמיות מושכות LPs בזמן תנודתיות גבוהה, והגנת MEV מפחיתה הפסדים מהתקפות sandwich. כתוצאה מכך, pools הופכים ליעילים ובטוחים יותר. חיסכון ב-gas ביצירת pool — עד 350k gas, בהחלפות מרובות-קפיצים — עד 40%.

איך אנחנו מפתחים Pool מותאם אישית: 5 שלבים

  1. ניתוח ועיצוב (2–3 ימים). קביעת מכניקת pool, סט hooks, לוגיקת BalanceDelta. מפרט פורמלי של invariant.
  2. פיתוח חוזה ה-hook (3–5 ימים). יישום קריאות חוזרות, כריית כתובות, חוזי עזר.
  3. בדיקות (3–5 ימים). בדיקות יחידה, בדיקות אינטגרציה דרך PoolSwapTest, בדיקות fuzz, בדיקות fork.
  4. ביקורת (2–3 ימים). Slither, סקירה ידנית המתמקדת ב-reentrancy ו-BalanceDelta.
  5. פריסה ואימות (יום אחד). דרך Foundry forge script עם אימות Etherscan.

סה"כ: 1–2 שבועות עבור hook עם מכניקה אחת. מערכות מורכבות — 4–6 שבועות.

מה כלול בעבודה

  • ניתוח דרישות ועיצוב מכניקה
  • פיתוח חוזים חכמים (hooks, חוזי עזר)
  • בדיקות (יחידה, אינטגרציה, fuzz, fork)
  • ביקורת אבטחה (Slither, סקירה ידנית)
  • פריסה עם אימות
  • תיעוד והמלצות תפעוליות
  • תמיכה בהשקה

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