본문으로 건너뛰기

EVM 계약 호출 챌린지

EVM 계약 호출 챌린지는 게시를 허용하기 전에 온체인 조건을 확인하는 스팸 방지 메커니즘입니다. 이를 통해 커뮤니티 소유자는 작성자가 게시를 위해 스마트 계약에서 정의한 기준(예: 최소 토큰 잔액 보유 등)을 충족하도록 요구할 수 있습니다.

소스 코드: github.com/bitsocialnet/evm-contract-call

요구사항

  • Node.js >= 22
  • ESM 전용 -- 이 패키지는 CommonJS 빌드를 제공하지 않습니다.

설치

npm install @bitsocial/evm-contract-challenge

구성 옵션

옵션유형설명
chainTickerstring쿼리할 체인입니다(예: eth, matic, avax).
addressstring호출할 스마트 계약 주소입니다.
abistring호출되는 함수에 대한 ABI 조각입니다.
conditionstring계약 반환 값(예: > 1000)에 대해 평가되는 비교 표현식입니다.
errorstring조건을 충족하지 않는 작성자에게 표시되는 오류 메시지입니다.

특정 ERC-20 토큰을 1,000개 이상 보유한 작성자에게만 게시를 제한하려는 커뮤니티 소유자는 다음과 같이 챌린지를 구성할 수 있습니다.

  • chainTicker: "eth"
  • address: 토큰 계약 주소
  • abi: balanceOf(address)용 ABI
  • condition: "> 1000"
  • error: "You must hold more than 1,000 tokens to post in this community."

작성자가 게시를 시도하면 챌린지는 작성자의 주소로 balanceOf를 호출하고 반환된 값이 조건을 충족하는지 확인합니다. 그렇다면 출판이 진행됩니다. 그렇지 않으면 구성된 오류 메시지가 반환됩니다.

언제 사용해야 하는가

EVM 계약 통화 챌린지는 다음에 이상적입니다.

  • 토큰 보유자에 대한 게시를 제한하는 토큰 관리 커뮤니티.
  • NFT 게이트 액세스 특정 NFT의 소유권이 필요한 경우.
  • DAO 거버넌스 공간 참여가 거버넌스 토큰 보유자로 제한됩니다.

온체인 신원에 의존하지 않는 커뮤니티의 경우 스팸 차단기 또는 바우처 챌린지를 대신 고려해보세요.