פיתוח פלטפורמת מימון המונים מבוזרת ליוצרים
Mirror.xyz גייסה מיליוני דולרים עבור סופרים עצמאיים באמצעות מימון המונים מבוסס NFT לפני כמה שנים. הרעיון למכור חלק מההכנסות העתידיות או תוכן בלעדי במקום הבטחות הוא מודל חדש מיסודו. אבל ליישם אותו טכנית זה מורכב יותר מסתם "קיקסטארטר על הבלוקצ'יין." אנחנו, צוות של מהנדסי בלוקצ'יין עם ניסיון של 10+ שנים, בונים פלטפורמות מימון המונים מבוזרות במפתח פתוח. הפתרונות שלנו כוללים חלוקת כספים שקופה באמצעות חוזים חכמים, אבני דרך הניתנות לאימות, והחזרים ללא אמון. נבחן את הפרויקט שלך בחינם.
איך להבטיח חלוקת כספים שקופה?
יישום נאיבי: איסוף ETH לכתובת היוצר. זה לא עובד—משתמשים לא סומכים על כתובת לא ידועה. יש צורך בחוזה נאמנות (escrow) שיחזיק את הכספים וישחרר אותם עם עמידה בתנאים. אנחנו משתמשים בארכיטקטורת נאמנות מבוססת אבני דרך עם הצבעת תומכים.
struct Campaign {
address creator;
uint256 goal;
uint256 deadline;
uint256 raised;
bool goalReached;
Milestone[] milestones;
}
struct Milestone {
string description;
uint256 releaseAmount;
bool completed;
uint256 votes;
uint256 votesAgainst;
}במקום להעביר כספים אוטומטית כשהמטרה מושגת, התומכים מצביעים על השלמת אבן דרך. אם 50%+ מהתומכים (לפי משקל סכום התרומה) מאשרים, הנאמנות שולחת struct Campaign { address creator; uint256 goal; uint256 deadline; uint256 raised; bool goalReached; Milestone[] milestones; } struct Milestone { string description; uint256 releaseAmount; bool completed; uint256 votes; uint256 votesAgainst; } ליוצר. אם הרוב מצביע נגד, הכספים מוחזרים באופן יחסי. מנגנון זה הוכח ב-Giveth וב-The DAO (לפני התקרית) ועובד כל עוד הממשל פעיל.
למה NFT עדיף על מניות מסורתיות?
כל תרומה מטביעה NFT (ERC-1155) עבור התומך. ה-NFT מכיל מטא-דאטה: סכום, תאריך, מזהה קמפיין. פונקציות:
- בקרת גישה: הפלטפורמה בודקת את
releaseAmountלגישת תוכן. - חלוקת הכנסות: אם הקמפיין כולל תמלוגים ממכירות, ה-NFT משמש כטוקן תביעה. החוזה מחלק ETH באופן יחסי למשקל ה-NFT.
- סחירות: התומך יכול למכור את הפוזיציה בשווקים משניים (OpenSea, Blur). זה יוצר נזילות שאינה קיימת במימון המונים מסורתי.
| תקן | מקרה שימוש | עלות הטביעה | ניהול קמפיינים מרובים |
|---|---|---|---|
| ERC-721 | תרומות ייחודיות (כל NFT שונה) | גבוהה | נדרש חוזה חדש לכל קמפיין |
| ERC-1155 | תרומות הומוגניות בתוך קמפיין | נמוכה (אצווה) | חוזה אחד לכולם |
ERC-1155 עדיף: חוזה אחד, הטביעה זולה יותר, תמיכה בחצי-פונגיביליות.
מנגנון החזר ללא אמון
אם קמפיין לא מצליח להגיע למטרה שלו עד המועד האחרון, כל תומך יכול לקרוא ל-balanceOf(address, campaignId) ולקבל את הכספים שלו בחזרה. אין מתווכים. אנחנו משתמשים בתבנית החזר מסוג pull: החוזה לא שולח כספים אוטומטית (כדי להימנע מ-gas griefing). כל תומך קורא לפונקציה בעצמו.
function refund(uint256 campaignId) external {
Campaign storage c = campaigns[campaignId];
require(block.timestamp > c.deadline, "Campaign active");
require(!c.goalReached, "Goal was reached");
uint256 amount = contributions[campaignId][msg.sender];
require(amount > 0, "No contribution");
contributions[campaignId][msg.sender] = 0; // CEI pattern
(bool success,) = msg.sender.call{value: amount}("");
require(success, "Transfer failed");
}איפוס היתרה לפני ההעברה הוא תבנית Checks-Effects-Interactions. בלעדיה, אפשרית reentrancy דרך refund() בחוזה של התומך.
שכבת הפלטפורמה: מפעל קמפיינים ואינדוקס
Factory + Clone לפריסה חסכונית בגז
כל קמפיין הוא חוזה נפרד. פריסה דרך function refund(uint256 campaignId) external { Campaign storage c = campaigns[campaignId]; require(block.timestamp > c.deadline, "Campaign active"); require(!c.goalReached, "Goal was reached"); uint256 amount = contributions[campaignId][msg.sender]; require(amount > 0, "No contribution"); contributions[campaignId][msg.sender] = 0; // CEI pattern (bool success,) = msg.sender.call{value: amount}(""); require(success, "Transfer failed"); } עולה הרבה גז (מאות אלפי גז). באת'ריום, זה משמעותי—לא מקובל עבור יוצרים עצמאיים. פתרון: EIP-1167 Minimal Proxy (Clone). ה-receive() פורס פרוקסי קל משקל (~45k גז). הפרוקסי מפנה קריאות ליישום. עלות יצירת הקמפיין מופחתת פי 10. חיסכון בגז עד 90%.
חיסרון: לא ניתן לשדרג פרוקסים בנפרד. כל ה-clones משתמשים ביישום אחד. לעדכונים, פורסים factory חדש; קמפיינים ישנים נשארים על הלוגיקה הישנה (זו תכונה, לא באג—אי-שינוי של קמפיינים שהושלמו).
The Graph Subgraph לאינדוקס
פלטפורמה עם מאות קמפיינים דורשת חיפוש יעיל. פונקציות new Campaign() על השרשרת לא מתאימות לקנה מידה. פתרון: The Graph subgraph. אנחנו פורסים subgraph שמאנדקס אירועים:
type Campaign @entity {
id: ID!
creator: Bytes!
goal: BigInt!
raised: BigInt!
deadline: BigInt!
backers: [Backer!]! @derivedFrom(field: "campaign")
milestones: [Milestone!]! @derivedFrom(field: "campaign")
}הפרונטאנד מבצע שאילתות GraphQL ל-subgraph במקום קריאות RPC ישירות. סינון לפי מחבר, סטטוס, קטגוריה—כל זה בלתי אפשרי על השרשרת.
מימון המונים בריבוי מטבעות
קבלת ETH בלבד פירושה אובדן קהל. אינטגרציה של ERC-20 (USDC, DAI) דרך CampaignFactory מ-OpenZeppelin. קמפיין אחד = מטבע אחד (מפשט את הנאמנות). לקמפיינים בריבוי מטבעות, המרה דרך Uniswap v3 בזמן התרומה. נקודה חשובה: ל-USDC יש רשימה שחורה—החוזה יכול להיות מוקפא על ידי Circle. לנאמנות ארוכת טווח, אנחנו משתמשים ב-DAI.
ניהול ובוררות סכסוכים
בוררות על השרשרת באמצעות Kleros
אם תומכים ויוצר לא מגיעים להסכמה על אבן דרך, יש צורך בבוררות. פרוטוקול Kleros: הפקדה משני הצדדים, מושבעים אקראיים פוסקים, המפסיד מאבד את ההפקדה. אינטגרציה דרך ממשק view.
מה כלול בעבודה שלנו
- תיעוד ארכיטקטורה ומפרט חוזים חכמים
- קוד מקור עם בדיקות יחידה (Foundry) ובדיקות fork
- הוראות פריסה ואימות חוזים
- הגדרת The Graph subgraph
- הדרכת צוות (יום אחד מקוון)
- תמיכה טכנית לחודש אחד לאחר ההשקה
תהליך העבודה
- עיצוב מכניקה (3–5 ימים): מבנה אבני דרך, כלכלת NFT, תנאי החזר, פרמטרי ממשל.
- חוזים חכמים ליבה (1–1.5 שבועות): Campaign, CampaignFactory (EIP-1167), MilestoneVoting, RefundEscrow.
- NFT וחלוקת הכנסות (3–4 ימים): ERC-1155, מנגנון תביעה, חלוקת תמלוגים.
- The Graph subgraph (2–3 ימים): סכמה, מיפויים, פריסה.
- אינטגרציית פרונטאנד (1–2 שבועות): wagmi/viem, יצירת קמפיין, דף תרומה, דשבורד.
- בדיקות (3–5 ימים): יחידה, fork, fuzzing.
- פריסה (2–3 ימים): סקריפטים של Foundry, אימות, subgraph.
סה"כ: 3 שבועות – 3 חודשים תלוי בפונקציונליות. MVP ללא הצבעת אבני דרך: 3–4 שבועות. פלטפורמה מלאה עם בוררות ו-NFT: 2–3 חודשים. העלות מחושבת לאחר פירוט הדרישות.
דוגמה לתצורת חוזה חכם (Campaign)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; contract Campaign { /// ... реализация } למה לבחור בנו
- 10+ שנות ניסיון בפיתוח בלוקצ'יין
- 30+ פרויקטים מוצלחים (DeFi, NFT, DAO)
- 5 שנים בשוק
- ביקורות חוזים על ידי חברות מובילות
אנחנו מבטיחים שקיפות קוד ואבטחת כספים. צרו קשר כדי לדון ברעיון שלכם—נבחן את הפרויקט ונציע את הפתרון האופטימלי.







