Hopp over til hovedinnhold

EVM Contract Call Challenge

EVM Contract Call Challenge er en anti-spam-mekanisme som verifiserer kjedeforhold før en publisering tillates. Det lar fellesskapseiere kreve at forfattere oppfyller smartkontrakt-definerte kriterier – for eksempel å ha en minimum token-saldo – for å kunne legge ut.

Kildekode: github.com/bitsocialnet/evm-contract-call

Krav

  • Node.js >= 22
  • Kun ESM -- denne pakken sender ikke CommonJS-bygg.

Installasjon

npm install @bitsocial/evm-contract-challenge

Konfigurasjonsalternativer

AlternativSkriv innBeskrivelse
chainTickerstringKjeden som skal forespørres (f.eks. eth, matic, avax).
addressstringDen smarte kontraktsadressen å ringe.
abistringABI-fragmentet for funksjonen som kalles.
conditionstringEt sammenligningsuttrykk evaluert mot kontraktens returverdi (f.eks. > 1000).
errorstringFeilmeldingen vises til forfattere som ikke oppfyller betingelsen.

Eksempel

En fellesskapseier som ønsker å begrense innlegg til forfattere som har mer enn 1000 av et bestemt ERC-20-token, vil konfigurere utfordringen med:

  • chainTicker: "eth"
  • address: token-kontraktadressen
  • abi: ABI for balanceOf(address)
  • condition: "> 1000"
  • error: "You must hold more than 1,000 tokens to post in this community."

Når en forfatter prøver å publisere, kaller utfordringen balanceOf med forfatterens adresse og sjekker om den returnerte verdien tilfredsstiller betingelsen. Hvis den gjør det, fortsetter publiseringen; ellers returneres den konfigurerte feilmeldingen.

Når du skal bruke den

EVM Contract Call Challenge er ideell for:

  • Token-gatede fellesskap som begrenser publisering til token-innehavere.
  • NFT-gated tilgang der eierskap av en spesifikk NFT kreves.
  • DAO-styringsrom der deltakelse er begrenset til innehavere av styringstokener.

For fellesskap som ikke er avhengig av kjedeidentitet, bør du vurdere Spamblokkering eller Voucher Challenge i stedet.