ईवीएम अनुबंध कॉल चुनौती
ईवीएम कॉन्ट्रैक्ट कॉल चैलेंज एक एंटी-स्पैम तंत्र है जो प्रकाशन की अनुमति देने से पहले ऑन-चेन स्थितियों की पुष्टि करता है। यह समुदाय मालिकों को पोस्ट करने के लिए लेखकों को स्मार्ट-अनुबंध-परिभाषित मानदंडों को पूरा करने की आवश्यकता देता है - उदाहरण के लिए, न्यूनतम टोकन शेष रखना।
स्रोत कोड: github.com/bitsocialnet/evm-contract-call
आवश्यकताएं
- Node.js >= 22
- केवल ईएसएम -- यह पैकेज CommonJS बिल्ड को शिप नहीं करता है।
इंस्टालेशन
npm install @bitsocial/evm-contract-challenge
कॉन्फ़िगरेशन विकल्प
| विकल्प | प्रकार | विवरण |
|---|---|---|
chainTicker | string | क्वेरी करने के लिए श्रृंखला (जैसे, eth, matic, avax)। |
address | string | कॉल करने के लिए स्मार्ट अनुबंध पता। |
abi | string | बुलाए जा रहे फ़ंक्शन के लिए ABI फ़्रैगमेंट। |
condition | string | अनुबंध वापसी मूल्य (जैसे, > 1000) के विरुद्ध एक तुलनात्मक अभिव्यक्ति का मूल्यांकन किया गया। |
error | string | त्रुटि संदेश उन लेखकों को दिखाया जाता है जो शर्त पूरी नहीं करते हैं। |
उदाहरण
एक समुदाय स्वामी जो 1,000 से अधिक विशेष ईआरसी-20 टोकन रखने वाले लेखकों तक पोस्टिंग को प्रतिबंधित करना चाहता है, वह चुनौती को इस प्रकार कॉन्फ़िगर करेगा:
chainTicker:"eth"address: टोकन अनुबंध पताabi:balanceOf(address)के लिए ABIcondition:"> 1000"error:"You must hold more than 1,000 tokens to post in this community."
जब कोई लेखक प्रकाशित करने का प्रयास करता है, तो चुनौती लेखक के पते के साथ balanceOf को कॉल करती है और जांच करती है कि लौटाया गया मूल्य शर्त को पूरा करता है या नहीं। यदि ऐसा होता है, तो प्रकाशन आगे बढ़ता है; अन्यथा, कॉन्फ़िगर किया गया त्रुटि संदेश वापस आ जाता है।
इसका उपयोग कब करें
ईवीएम कॉन्ट्रैक्ट कॉल चैलेंज इसके लिए आदर्श है:
- टोकन-गेटेड समुदाय जो टोकन धारकों तक पोस्टिंग को प्रतिबंधित करते हैं।
- एनएफटी-गेटेड एक्सेस जहां एक विशिष्ट एनएफटी के स्वामित्व की आवश्यकता होती है।
- डीएओ शासन स्थान जहां भागीदारी शासन टोकन धारकों तक सीमित है।
उन समुदायों के लिए जो ऑन-चेन पहचान पर भरोसा नहीं करते हैं, इसके बजाय स्पैम ब्लॉकर या वाउचर चैलेंज पर विचार करें।