Přeskočit na hlavní obsah

Výzva na smluvní volání EVM

EVM Contract Call Challenge je antispamový mechanismus, který před povolením zveřejnění ověřuje podmínky v řetězci. Umožňuje vlastníkům komunit vyžadovat, aby autori splnili kritéria definovaná inteligentní smlouvou – například držení minimálního zůstatku tokenů – aby mohli zveřejňovat příspěvky.

Zdrojový kód: github.com/bitsocialnet/evm-contract-call

Požadavky

  • Node.js >= 22
  • Pouze ESM – tento balíček nedodává sestavení CommonJS.

Instalace

npm install @bitsocial/evm-contract-challenge

Možnosti konfigurace

MožnostTypPopis
chainTickerstringŘetězec, který se má dotazovat (např. eth, matic, avax).
addressstringAdresa chytré smlouvy, na kterou chcete zavolat.
abistringFragment ABI pro volanou funkci.
conditionstringPorovnávací výraz vyhodnocený oproti vrácené hodnotě smlouvy (např. > 1000).
errorstringChybová zpráva zobrazená autorům, kteří nesplňují podmínku.

Příklad

Vlastník komunity, který chce omezit zveřejňování příspěvků na autory, kteří vlastní více než 1 000 konkrétního tokenu ERC-20, by výzvu nakonfiguroval takto:

  • chainTicker: "eth"
  • address: adresa smlouvy o tokenu
  • abi: ABI pro balanceOf(address)
  • condition: "> 1000"
  • error: "You must hold more than 1,000 tokens to post in this community."

Když se autor pokusí publikovat, výzva zavolá balanceOf s adresou autora a zkontroluje, zda vrácená hodnota splňuje podmínku. Pokud ano, publikace pokračuje; jinak se vrátí nakonfigurovaná chybová zpráva.

Kdy ji použít

EVM Contract Call Challenge je ideální pro:

  • Komunity chráněné tokeny, které omezují odesílání příspěvků na držitele tokenů.
  • Přístup s bránou NFT, kde je vyžadováno vlastnictví konkrétního NFT.
  • Prostory řízení DAO, kde je účast omezena na držitele tokenu řízení.

Pro komunity, které se nespoléhají na on-chain identitu, zvažte místo toho Blokátor spamu nebo Voucherová výzva.