אנו מפתחים אגרגטורים לשוק NFT הפותרים את בעיית פיצול הנזילות. למה לפתוח ארבע לשוניות כשאפשר לקנות NFT במחיר הטוב ביותר בלחיצה אחת? האגרגטורים שלנו מאחדים את OpenSea, Blur, LooksRare, X2Y2 ופלטפורמות אחרות, אוספים את כל ההזמנות לרשימה אחת ומבצעים את העסקה באמצעות המסלול האופטימלי. פרויקטים כמו Gem.xyz ו-Reservoir הפכו לסטנדרט בתעשייה, אבל עבור נישות מתמחות (גיימינג, פיזיטל, תכונות), נותר פוטנציאל עצום.
קבלו הערכה חינם לפרויקט שלכם — צרו קשר.
איך עובד אגרגטור NFT?
אגרגטור הוא שילוב של חוזים חכמים ותשתית backend. חוזים חכמים מאפשרים רכישה אטומית של מספר NFTs בעסקה אחת, בעוד ה-backend מאנדקס הזמנות מכל הפלטפורמות ומספק API לפרונטאנד. הפרונטאנד מציג רשימה מאוחדת, מאפשר סינון לפי תכונות, מחיר ומקור, ומאפשר עגלה לרכישות בכמות גדולה.
ארכיטקטורה ברמת החוזה החכם
ביצוע עסקאות בין-פלטפורמיות
הרכיב המרכזי הוא חוזה האגרגטור, אשר בעסקה אחת קונה NFTs ממספר פלטפורמות:
contract NFTAggregator {
struct TradeData {
address marketplace;
bytes tradeData; // calldata для конкретного маркетплейса
uint256 value; // ETH для этой части сделки
bool isERC721;
}
function batchBuy(TradeData[] calldata trades) external payable {
for (uint256 i = 0; i < trades.length; i++) {
(bool success, ) = trades[i].marketplace.call{value: trades[i].value}(
trades[i].tradeData
);
if (!success) {
// Partial fill или revert в зависимости от политики
emit TradeFailed(i, trades[i].marketplace);
}
}
// Вернуть неизрасходованный ETH
if (address(this).balance > 0) {
payable(msg.sender).transfer(address(this).balance);
}
}
} למה חשובה האטומיות של עסקאות?
אם 3 ה-NFTs הראשונים נקנו, אבל ה-4 כבר נמכר — מה עושים? שני מצבים: contract NFTAggregator { struct TradeData { address marketplace; bytes tradeData; // calldata для конкретного маркетплейса uint256 value; // ETH для этой части сделки bool isERC721; } function batchBuy(TradeData[] calldata trades) external payable { for (uint256 i = 0; i < trades.length; i++) { (bool success, ) = trades[i].marketplace.call{value: trades[i].value}( trades[i].tradeData ); if (!success) { // Partial fill или revert в зависимости от политики emit TradeFailed(i, trades[i].marketplace); } } // Вернуть неизрасходованный ETH if (address(this).balance > 0) { payable(msg.sender).transfer(address(this).balance); } } } (ביטול הכל אם כל עסקה נכשלת) ו-failOnRevert (קניית מה שאפשר, החזרת כספים עבור השאר). Gem השתמשה בגישה השנייה כאופטימיזציית UX — המשתמש עדיין מקבל חלק ממה שביקש. אטומיות היא קריטית לסוויפים, שבהם עסקה יכולה לכלול עשרות הזמנות.
תמיכה בפורמטי הזמנות
לכל שוק יש סטנדרט משלו:
| שוק | סטנדרט | מאפיינים |
|---|---|---|
| OpenSea (Seaport) | Seaport 1.5 | EIP-712, ארכיטקטורת zone/conduit |
| Blur | Blur Exchange | מותאם אישית, מאגר הצעות |
| LooksRare | LooksRare v2 | תמלוגים ERC-2981 חובה |
| X2Y2 | X2Y2 v1 | נדרש backend לקבלת calldata קריא |
| Rarible | ExchangeV2 | תמיכה ב-ERC-1155 ובחבילות |
| Foundation | Foundation Market | מכירות ראשוניות בלבד, פורמט מותאם אישית |
עבור כל אחד נדרש מתאם נפרד. Seaport הוא המורכב ביותר: תומך בהזמנות מבוססות קריטריונים (קניית כל טוקן מקולקציה עם תכונות מסוימות), הזמנות מתקדמות עם מילוי חלקי, ומספר מקבלי תמלוגים. מפרט פרוטוקול Seaport
סוויפים ורכישות מבוססות תכונות
סוויפ (קנייה המונית מתחתית טווח המחירים) הוא הפונקציה המרכזית עבור אספנים וסוחרים. סוויפ תכונות: קניית כל מה שזמין עם תכונה "אגדית", ללא קשר לשוק. דורש התאמה מבוססת קריטריונים ב-Seaport או סינון off-chain עם ביצוע on-chain.
שכבת אינדוקס ונתונים
אגרגטור ללא נתונים עדכניים הוא חסר תועלת. 90% מהמורכבות טמונה בתשתית לאיסוף ועדכון הזמנות.
מקורות נתונים
- APIs של שווקים: OpenSea API v2, Blur API (סגור חלקית), פרוטוקול Reservoir כ-meta-אגרגטור עם API פתוח. Reservoir מאנדקס את רוב השווקים ומספק API מאוחד — הגיוני להשתמש בו כבסיס, ולהוסיף אינדוקס מותאם אישית למקרים ספציפיים.
-
אירועי on-chain: האזנה לאירועי
skipFailed,OrderFulfilledמ-Seaport ודומיהם בשווקים אחרים. מנוי WebSocket דרך Alchemy/Infura לעדכונים בזמן אמת. עיכוב של 1-2 בלוקים מקובל עבור רוב מקרי השימוש. -
אינדוקסר מותאם אישית: לייצור — אינדוקסר מותאם אישית המבוסס על The Graph subgraph או פתרון מותאם ב-Go/TypeScript. אחסון הזמנות ב-PostgreSQL עם אינדקסים על
OrderCancelled. Redis לנתונים חמים (מחיר רצפה, מכירות אחרונות).
בעיית ההתיישנות
הזמנות מתיישנות. הרישום הטוב ביותר ב-OpenSea עשוי כבר להיות מבוצע עד שהמשתמש לוחץ על "קנייה". פתרונות:
- בדיקת סטטוס on-chain לפני הצגה (יקר בקריאות RPC)
- ממשק אופטימי עם נפילה להזמנה הטובה הבאה במקרה של כישלון
- מטמון עם TTL של 30 שניות + ביטול בזמן אמת באמצעות אירועים
Blur מוסיף מורכבות נוספת: מאגר ההצעות מציג הצעות "זמינות" שעשויות להתמלא על ידי מתחרים לפני שהעסקה שלכם מגיעה.
ארכיטקטורת פרונטאנד
חיפוש וסינון
חיפוש טקסט מלא לפי שם קולקציה + סינונים: מבוסס תכונות, טווח מחירים, מקור שוק, סטטוס אימות (קולקציה מאומתת/לא מאומתת). Elasticsearch או Meilisearch לחיפוש מהיר על פני מיליוני טוקנים. רשימה וירטואלית (react-virtual או tanstack-virtual) — קולקציות עם 10,000 טוקנים לא מוצגות במלואן ב-DOM.
עגלה
אגרגטור ללא עגלה הוא רק מנוע חיפוש. עגלה: הוספת מספר NFTs משווקים שונים, הצגת עלות כוללת + הערכת גז, ביצוע בעסקה אחת. טכנית, יצירת מערך (contract, tokenId, price) בפרונטאנד עם קריאה לאחר מכן ל-TradeData[]. הערכת גז לעסקאות אצווה אינה טריוויאלית: כל שוק צורך גז שונה, בתוספת תקורה של האגרגטור. השתמשו ב-batchBuy() עם חיץ קטן (10-20%) או טבלת חיפוש גז מחושבת מראש לפי סוג שוק.
עמידה בתמלוגים
אחרי ש-Blur הציגה תמלוגים אופציונליים ותפסה נתח שוק, הנושא הפך פוליטי. האגרגטור חייב להציג בבירור אילו תמלוגים ישולמו עבור כל רכישה ולאפשר למשתמש לבחור — או להחיל מדיניות פרויקט אוטומטית (בהתבסס על רישום תמלוגים on-chain EIP-2981 + Manifold Registry).
מונטיזציה ומיצוב תחרותי
מודלים סטנדרטיים: עמלה של 0.5-1% על נפח, מנוי Pro לאנליטיקה, גישת API לפרויקטים אחרים. Blur שינתה את כללי המשחק בעמלות רישום — התחרו על UX, מהירות, אנליטיקה, התמחות (רשתות נישה, קטגוריות ספציפיות כמו NFTs לגיימינג, פיזיטל). ריבוי רשתות הוא חובה: Ethereum, Polygon, Base, Arbitrum, Blast. כל רשת דורשת אינדוקסר נפרד, אבל חוזה האגרגטור והפרונטאנד מאוחדים.
שלבי פיתוח אגרגטור NFT
- ניתוח דרישות: הגדרת קהל יעד, פונקציונליות (סוויפ, תכונות, חוצה רשתות), רשימת שווקים.
- עיצוב חוזה חכם: פיתוח ארכיטקטורת batchBuy, מתאמים לכל שוק, בדיקות על רשתות fork.
- פיתוח שכבת אינדוקס: הקמת אינדוקסרים, אינטגרציה עם APIs ומאזיני on-chain, מטמון.
- פרונטאנד: עיצוב UI/UX, יישום חיפוש, עגלה, אינטגרציית ארנק (MetaMask, WalletConnect).
- בדיקות: בדיקות יחידה לחוזים (Foundry), fuzzing (Echidna), בדיקות אינטגרציה על testnet.
- ביקורת אבטחה: בדיקת חוזים דרך Slither/Mythril, ביקורת חיצונית.
- פריסה וניטור: פריסה על mainnet, הגדרת Tenderly, Grafana.
מה כלול בעבודה
- פיתוח חוזים חכמים לאגרגטור ומתאמים ל-5+ שווקים
- אינדוקס הזמנות backend (אינדוקסר מותאם אישית או מבוסס Reservoir)
- פרונטאנד עם חיפוש, סינון, עגלה ואינטגרציית ארנק
- אינטגרציה חוצת רשתות (Ethereum, Polygon, Arbitrum, Base)
- ביקורת אבטחה ואופטימיזציית גז
- תיעוד API וחוזה חכם
- תמיכה לאחר השקה (3 חודשים)
לוחות זמנים משוערים
| שלב | משך |
|---|---|
| MVP (רשת אחת, 2 שווקים) | 2-3 שבועות |
| מוצר מלא (5+ שווקים, ריבוי רשתות, אנליטיקה) | 2-3 חודשים |
| ביקורת ואופטימיזציה | +2-4 שבועות |
העלות מחושבת באופן אישי בהתאם למורכבות ומספר האינטגרציות.
לצוות שלנו ניסיון של 5+ שנים בפיתוח blockchain והוא סיפק מעל 20 פרויקטים בתחום DeFi ו-NFT, כולל אגרגטורים לשווקים. אנו מבטיחים עמידה בסטנדרטים מודרניים של אבטחה ואופטימיזציית גז.
קבלו הערכה חינם לפרויקט שלכם — צרו קשר לייעוץ.







