मुख्य सामग्रीवर जा

ईव्हीएम कॉन्ट्रॅक्ट कॉल चॅलेंज

ईव्हीएम कॉन्ट्रॅक्ट कॉल चॅलेंज ही स्पॅमविरोधी यंत्रणा आहे जी प्रकाशनाला परवानगी देण्यापूर्वी ऑन-चेन परिस्थितीची पडताळणी करते. हे समुदाय मालकांना लेखकांना स्मार्ट-करार-परिभाषित निकषांची पूर्तता करणे आवश्यक आहे -- उदाहरणार्थ, किमान टोकन शिल्लक धारण -- पोस्ट करण्यासाठी.

स्रोत कोड: github.com/bitsocialnet/evm-contract-call

आवश्यकता

  • Node.js >= २२
  • फक्त ईएसएम -- हे पॅकेज CommonJS बिल्ड पाठवत नाही.

स्थापना

npm install @bitsocial/evm-contract-challenge

कॉन्फिगरेशन पर्याय

पर्यायप्रकारवर्णन
chainTickerstringक्वेरी करण्यासाठी साखळी (उदा. eth, matic, avax).
addressstringकॉल करण्यासाठी स्मार्ट करार पत्ता.
abistringकॉल केलेल्या कार्यासाठी ABI खंड.
conditionstringकॉन्ट्रॅक्ट रिटर्न व्हॅल्यू (उदा. > 1000) विरुद्ध मूल्यमापन केलेली तुलनात्मक अभिव्यक्ती.
errorstringअट पूर्ण न करणाऱ्या लेखकांना दाखवलेला त्रुटी संदेश.

उदाहरण

एखादा समुदाय मालक जो विशिष्ट ERC-20 टोकन पैकी 1,000 पेक्षा जास्त लेखकांना पोस्ट करणे प्रतिबंधित करू इच्छितो तो यासह आव्हान कॉन्फिगर करेल:

  • chainTicker: "eth"
  • address: टोकन कराराचा पत्ता
  • abi: balanceOf(address) साठी ABI
  • condition: "> 1000"
  • error: "You must hold more than 1,000 tokens to post in this community."

जेव्हा लेखक प्रकाशित करण्याचा प्रयत्न करतो, तेव्हा आव्हान लेखकाच्या पत्त्यासह balanceOf ला कॉल करते आणि परत केलेले मूल्य अट पूर्ण करते की नाही ते तपासते. तसे झाल्यास, प्रकाशन पुढे जाईल; अन्यथा, कॉन्फिगर केलेला त्रुटी संदेश परत येईल.

ते कधी वापरायचे

ईव्हीएम कॉन्ट्रॅक्ट कॉल चॅलेंज यासाठी आदर्श आहे:

  • टोकन-गेट केलेले समुदाय जे टोकनधारकांना पोस्ट करणे प्रतिबंधित करतात.
  • NFT-गेट केलेला प्रवेश जेथे विशिष्ट NFT ची मालकी आवश्यक आहे.
  • DAO गव्हर्नन्स स्पेस जिथे सहभाग गव्हर्नन्स टोकन धारकांपुरता मर्यादित आहे.

ऑन-चेन ओळखीवर अवलंबून नसलेल्या समुदायांसाठी, त्याऐवजी स्पॅम ब्लॉकर किंवा व्हाउचर चॅलेंज चा विचार करा.