אתגר שיחת חוזה EVM
EVM Contract Call Challenge הוא מנגנון אנטי ספאם המאמת את תנאי השרשרת לפני שמתיר פרסום. זה מאפשר לבעלי קהילה לדרוש מחברים לעמוד בקריטריונים המוגדרים בחוזים חכמים - למשל, להחזיק ביתרה מינימלית סמלית - כדי לפרסם.
קוד מקור: github.com/bitsocialnet/evm-contract-call
דרישות
- Node.js >= 22
- ESM בלבד -- חבילה זו אינה שולחת רכיבי בנייה של CommonJS.
התקנה
npm install @bitsocial/evm-contract-challenge
אפשרויות תצורה
| אפשרות | הקלד | תיאור |
|---|---|---|
chainTicker | string | השרשרת לשאילתה (לדוגמה, eth, matic, avax). |
address | string | כתובת החוזה החכמה להתקשרות. |
abi | string | מקטע ה-ABI עבור הפונקציה הנקראת. |
condition | string | ביטוי השוואה המוערך מול ערך החזרת החוזה (לדוגמה, > 1000). |
error | string | הודעת השגיאה המוצגת למחברים שאינם עומדים בתנאי. |
דוגמה
בעל קהילה שרוצה להגביל פרסום למחברים המחזיקים ביותר מ-1,000 אסימון ERC-20 מסוים יגדיר את האתגר עם:
chainTicker:"eth"address: כתובת החוזה האסימוןabi: ה-ABI עבורbalanceOf(address)condition:"> 1000"error:"You must hold more than 1,000 tokens to post in this community."
כאשר מחבר מנסה לפרסם, האתגר קורא ל-balanceOf עם כתובת המחבר ובודק אם הערך המוחזר עומד בתנאי. אם כן, הפרסום ממשיך; אחרת, הודעת השגיאה שהוגדרה מוחזרת.
מתי להשתמש בו
אתגר שיחת חוזה EVM הוא אידיאלי עבור:
- קהילות עם אסימונים שמגבילות פרסום לבעלי אסימונים.
- גישה עם NFT-gate שבה נדרשת בעלות על NFT ספציפי.
- מרחבי ממשל של DAO שבהם ההשתתפות מוגבלת לבעלי אסימון ממשל.
עבור קהילות שאינן מסתמכות על זהות בשרשרת, שקול במקום זאת חוסם דואר זבל או אתגר השוברים.