ইভিএম চুক্তি কল চ্যালেঞ্জ
ইভিএম কন্ট্রাক্ট কল চ্যালেঞ্জ হল একটি স্প্যাম-বিরোধী প্রক্রিয়া যা প্রকাশনার অনুমতি দেওয়ার আগে অন-চেইন শর্তগুলি যাচাই করে। এটি সম্প্রদায়ের মালিকদের লেখকদের স্মার্ট-কন্ট্রাক্ট-সংজ্ঞায়িত মানদণ্ড পূরণ করতে দেয় -- উদাহরণস্বরূপ, একটি ন্যূনতম টোকেন ব্যালেন্স রাখা -- পোস্ট করার জন্য।
সোর্স কোড: github.com/bitsocialnet/evm-contract-call
প্রয়োজনীয়তা
- Node.js >= 22
- শুধুমাত্র ইএসএম -- এই প্যাকেজটি কমনজেএস বিল্ডগুলি পাঠায় না।
ইনস্টলেশন
npm install @bitsocial/evm-contract-challenge
কনফিগারেশন বিকল্প
| বিকল্প | প্রকার | বর্ণনা |
|---|---|---|
chainTicker | string | প্রশ্ন করার চেইন (যেমন, eth, matic, avax)। |
address | string | কল করার জন্য স্মার্ট চুক্তির ঠিকানা। |
abi | string | যে ফাংশনটি কল করা হচ্ছে তার জন্য ABI খণ্ড। |
condition | string | চুক্তির রিটার্ন মানের (যেমন, > 1000) বিরুদ্ধে মূল্যায়ন করা একটি তুলনামূলক অভিব্যক্তি। |
error | string | শর্ত পূরণ করে না এমন লেখকদের দেখানো ত্রুটি বার্তা। |
উদাহরণ
একটি সম্প্রদায়ের মালিক যিনি একটি নির্দিষ্ট ERC-20 টোকেনের 1,000 টিরও বেশি ধারণকারী লেখকদের পোস্টিং সীমাবদ্ধ করতে চান তিনি চ্যালেঞ্জটি এর সাথে কনফিগার করবেন:
chainTicker:"eth"address: টোকেন চুক্তির ঠিকানাabi:balanceOf(address)এর জন্য ABIcondition:"> 1000"error:"You must hold more than 1,000 tokens to post in this community."
যখন একজন লেখক প্রকাশ করার চেষ্টা করেন, চ্যালেঞ্জটি লেখকের ঠিকানা সহ balanceOf কল করে এবং প্রত্যাবর্তিত মান শর্তটি পূরণ করে কিনা তা পরীক্ষা করে। যদি তা হয়, প্রকাশনা এগিয়ে যায়; অন্যথায়, কনফিগার করা ত্রুটি বার্তাটি ফেরত দেওয়া হয়।
কখন এটি ব্যবহার করবেন
ইভিএম চুক্তি কল চ্যালেঞ্জ এর জন্য আদর্শ:
- টোকেন-গেটেড সম্প্রদায় যারা টোকেন হোল্ডারদের জন্য পোস্টিং সীমাবদ্ধ করে।
- NFT-গেটেড অ্যাক্সেস যেখানে একটি নির্দিষ্ট NFT-এর মালিকানা প্রয়োজন।
- DAO গভর্নেন্স স্পেস যেখানে অংশগ্রহণ গভর্নেন্স টোকেন হোল্ডারদের মধ্যে সীমাবদ্ধ।
যে সম্প্রদায়গুলি-চেইন আইডেন্টিটি নির্ভর করে না তাদের জন্য স্প্যাম ব্লকার বা ভাউচার এর উপর বিবেচনা করুন।