EVM 계약 호출 챌린지
EVM 계약 호출 챌린지는 게시를 허용하기 전에 온체인 조건을 확인하는 스팸 방지 메커니즘입니다. 이를 통해 커뮤니티 소유자는 작성자가 게시를 위해 스마트 계약에서 정의한 기준(예: 최소 토큰 잔액 보유 등)을 충족하도록 요구할 수 있습니다.
소스 코드: github.com/bitsocialnet/evm-contract-call
요구사항
- Node.js >= 22
- ESM 전용 -- 이 패키지는 CommonJS 빌드를 제공하지 않습니다.
설치
npm install @bitsocial/evm-contract-challenge
구성 옵션
| 옵션 | 유형 | 설명 |
|---|---|---|
chainTicker | string | 쿼리할 체인입니다(예: eth, matic, avax). |
address | string | 호출할 스마트 계약 주소입니다. |
abi | string | 호출되는 함수에 대한 ABI 조각입니다. |
condition | string | 계약 반환 값(예: > 1000)에 대해 평가되는 비교 표현식입니다. |
error | string | 조건을 충족하지 않는 작성자에게 표시되는 오류 메시지입니다. |
예
특정 ERC-20 토큰을 1,000개 이상 보유한 작성자에게만 게시를 제한하려는 커뮤니티 소유자는 다음과 같이 챌린지를 구성할 수 있습니다.
chainTicker:"eth"address: 토큰 계약 주소abi:balanceOf(address)용 ABIcondition:"> 1000"error:"You must hold more than 1,000 tokens to post in this community."
작성자가 게시를 시도하면 챌린지는 작성자의 주소로 balanceOf를 호출하고 반환된 값이 조건을 충족하는지 확인합니다. 그렇다면 출판이 진행됩니다. 그렇지 않으면 구성된 오류 메시지가 반환됩니다.
언제 사용해야 하는가
EVM 계약 통화 챌린지는 다음에 이상적입니다.
- 토큰 보유자에 대한 게시를 제한하는 토큰 관리 커뮤니티.
- NFT 게이트 액세스 특정 NFT의 소유권이 필요한 경우.
- DAO 거버넌스 공간 참여가 거버넌스 토큰 보유자로 제한됩니다.