דלג לתוכן הראשי

אתגר שיחת חוזה EVM

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

קוד מקור: github.com/bitsocialnet/evm-contract-call

דרישות

  • Node.js >= 22
  • ESM בלבד -- חבילה זו אינה שולחת רכיבי בנייה של CommonJS.

התקנה

npm install @bitsocial/evm-contract-challenge

אפשרויות תצורה

אפשרותהקלדתיאור
chainTickerstringהשרשרת לשאילתה (לדוגמה, eth, matic, avax).
addressstringכתובת החוזה החכמה להתקשרות.
abistringמקטע ה-ABI עבור הפונקציה הנקראת.
conditionstringביטוי השוואה המוערך מול ערך החזרת החוזה (לדוגמה, > 1000).
errorstringהודעת השגיאה המוצגת למחברים שאינם עומדים בתנאי.

דוגמה

בעל קהילה שרוצה להגביל פרסום למחברים המחזיקים ביותר מ-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 שבהם ההשתתפות מוגבלת לבעלי אסימון ממשל.

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