Перейти до основного вмісту

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

Параметри конфігурації

ВаріантТипОпис
chainTickerstringЛанцюжок для запиту (наприклад, eth, matic, avax).
addressstringАдреса смарт-контракту для дзвінка.
abistringФрагмент ABI для викликаної функції.
conditionstringВираз порівняння, оцінений за значенням, що повертається контрактом (наприклад, > 1000).
errorstringПовідомлення про помилку, яке відображається авторам, які не відповідають умові.

приклад

Власник спільноти, який хоче обмежити публікацію авторами, які володіють понад 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.