EVM Contract Call Challenge
EVM Contract Call Challenge on roskapostin estomekanismi, joka tarkistaa ketjun olosuhteet ennen julkaisun sallimista. Sen avulla yhteisön omistajat voivat vaatia kirjoittajia täyttämään älykkäissä sopimuksissa määritellyt kriteerit – esimerkiksi vähintään vähimmäissaldo – voidakseen julkaista.
Lähdekoodi: github.com/bitsocialnet/evm-contract-call
Vaatimukset
- Node.js >= 22
- Vain ESM – tämä paketti ei toimita CommonJS-koontiversioita.
Asennus
npm install @bitsocial/evm-contract-challenge
Kokoonpanoasetukset
| Vaihtoehto | Tyyppi | Kuvaus |
|---|---|---|
chainTicker | string | Kyselyketju (esim. eth, matic, avax). |
address | string | Älykäs sopimusosoite, johon soittaa. |
abi | string | Kutsuttavan funktion ABI-fragmentti. |
condition | string | Vertailulauseke, joka on arvioitu suhteessa sopimuksen palautusarvoon (esim. > 1000). |
error | string | Virheilmoitus näytetään kirjoittajille, jotka eivät täytä ehtoa. |
Esimerkki
Yhteisön omistaja, joka haluaa rajoittaa lähettämisen kirjoittajiin, joilla on enemmän kuin 1 000 tiettyä ERC-20-tunnusta, määrittää haasteen seuraavasti:
chainTicker:"eth"address: Token-sopimuksen osoiteabi: ABI mallillebalanceOf(address)condition:"> 1000"error:"You must hold more than 1,000 tokens to post in this community."
Kun tekijä yrittää julkaista, haaste kutsuu balanceOf kirjoittajan osoitteen kanssa ja tarkistaa, täyttääkö palautettu arvo ehdon. Jos näin tapahtuu, julkaisu jatkuu; muussa tapauksessa palautetaan määritetty virhesanoma.
Milloin sitä käytetään
EVM Contract Call Challenge on ihanteellinen:
- Token-gated-yhteisöt, jotka rajoittavat lähettämisen tunnuksen haltijoille.
- NFT-porteilla varustettu pääsy, jossa vaaditaan tietyn NFT:n omistus.
- DAO-hallintatilat, joihin osallistuminen on rajoitettu hallintotunnuksen haltijoihin.
Jos yhteisöt eivät ole riippuvaisia ketjun identiteetistä, harkitse sen sijaan Roskapostin esto tai Lahjakorttihaaste.