
Beatoz Faucet
테스트넷 토큰 지급 서비스입니다. 컨트랙트, API, UI를 한 저장소에 구성하고 reCAPTCHA·Redis 쿨다운·비동기 큐로 반복 요청과 동시 처리를 제어했습니다.
테스트넷 토큰 지급 서비스입니다. 컨트랙트, API, UI를 한 저장소에 구성하고 reCAPTCHA·Redis 쿨다운·비동기 큐로 반복 요청과 동시 처리를 제어했습니다.
무엇이 어려웠는가.
동시에 많은 요청이 들어와도 같은 사용자가 토큰을 반복 수령하지 못하게 막고, 비동기로 처리되는 온체인 거래의 진행 상태를 보여줘야 했습니다.
어떻게 풀었는가.
reCAPTCHA와 Redis 쿨다운으로 요청을 제한하고, Bull Queue에서 토큰 지급과 컨펌 확인을 처리했습니다. 프론트엔드에서는 요청 접수부터 완료까지 상태를 확인할 수 있게 했습니다.
NestJSReactViteRadix UIBullRedisTailwind CSS
개요
- 1인 개발로 진행한 개발자용 토큰 지급(Faucet) 서비스입니다.
- 컨트랙트 + 백엔드 + 프론트(UI)를 포함합니다.
핵심 구성
1) 컨트랙트(남용 방지)
- 쿨다운, 블랙리스트 등 남용 방지 장치를 포함합니다.
2) 백엔드(비동기 처리)
- Bull Queue(Redis)로 지급 요청을 비동기 처리하고, 온체인 트랜잭션 브로드캐스트/컨펌을 추적합니다.
- reCAPTCHA 및 Redis 기반 레이트 리미팅으로 요청 남용을 완화합니다.
3) UI
- 요청/상태 확인을 위한 간단한 UX를 제공합니다.
