EVM Contract Call Challenge
Цей пакет спочатку було опубліковано в межах @plebbit. Його було перейменовано на @bitsocial/evm-contract-challenge. Посилання на стару назву все ще можуть з’являтися в старішій документації чи кодових базах.
EVM Contract Call Challenge — це механізм захисту від спаму, який перевіряє умови мережі перед тим, як дозволити публікацію. Спочатку отриманий із plebbit-js як окремий пакет, він дозволяє власникам спільнот вимагати від авторів відповідності критеріям, визначеним смарт-контрактами, наприклад, мати мінімальний баланс токенів, щоб опублікувати публікацію.
Вихідний код: github.com/bitsocialnet/evm-contract-call
Вимоги
- Node.js >= 22
- Лише ESM -- цей пакет не постачає збірки CommonJS.
- Залежність від однорангового під час виконання:
@plebbit/plebbit-js(перехід на@pkc/pkc-js)
монтаж
npm install @bitsocial/evm-contract-challenge
Параметри конфігурації
| Варіант | Тип | Опис |
|---|---|---|
chainTicker | string | Ланцюжок для запиту (наприклад, eth, matic, avax). |
address | string | Адреса смарт-контракту для дзвінка. |
abi | string | Фрагмент ABI для викликаної функції. |
condition | string | Вираз порівняння, оцінений за значенням, що повертається контрактом (наприклад, > 1000). |
error | string | Повідомлення про помилку, яке відображається авторам, які не відповідають умові. |
приклад
Власник спільноти, який хоче обмежити публікацію авторами, які володіють понад 1000 конкретних токенів 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 Contract Call Challenge ідеально підходить для:
- Спільноти, закриті токеном, які обмежують публікацію лише власникам токенів.
- Доступ із закритим доступом до NFT, якщо потрібне право власності на певний NFT.
- Простори управління DAO, де участь обмежена власниками токенів управління.
Для спільнот, які не покладаються на ідентифікацію в ланцюжку, розгляньте натомість Spam Blocker або Voucher Challenge.