
POPPOP NFT Platform
Beatoz 체인에서 NFT 거래와 정산을 배치로 처리하는 플랫폼입니다. Solidity 배치 함수와 gRPC 실행 서버를 연결하고, 실패한 작업을 추적하고 되돌릴 수 있는 운영 흐름을 구성했습니다.
Beatoz 체인에서 NFT 거래와 정산을 배치로 처리하는 플랫폼입니다. Solidity 배치 함수와 gRPC 실행 서버를 연결하고, 실패한 작업을 추적하고 되돌릴 수 있는 운영 흐름을 구성했습니다.
무엇이 어려웠는가.
서로 다른 NFT 거래를 한 번에 처리하면서도 권한 오류와 재진입 공격을 막고, 실패한 배치는 추적해 되돌릴 수 있어야 했습니다.
어떻게 풀었는가.
구매·취소·환불·정산 등 거래별 배치 함수와 롤백 함수를 만들었습니다. gRPC 서버는 요청을 타입별 큐에 넣어 순서대로 실행하고, 가스·Nonce·실패 원인에 따라 재시도와 모니터링을 나눴습니다.
구성 요소와 각자의 책임.
TM-Contract-V2
- — 거래 유형별 배치 함수
- — 수수료 추적
- — 실패한 배치 롤백
TM-BatchServer
- — gRPC 배치 API
- — 큐 기반 순차 실행
- — 재시도와 상태 추적
SolidityNode.jsgRPCHardhatOpenZeppelinBullRedis
개요
- 1인 개발로 진행한 Beatoz 체인 기반 NFT 거래/교환 플랫폼입니다.
- 온체인 배치 처리(컨트랙트) + 오프체인 배치 실행 서버로 구성했습니다.
구성 요소
TM-Contract-V2 (Smart Contracts)
- 거래 타입별 상태 전이(구매/교환/환불/정산/선물 등)를 지원합니다.
- 배치 실행을 위한 입력 구조와 검증 흐름을 설계했습니다.
- 수수료 추적 구조(
FeeTracker)와 이벤트 기반 기록을 통해 운영/감사 관점의 추적성을 확보했습니다. - 운영 복구를 위해 거래 타입별 롤백 경로를 구성했습니다.
TM-BatchServer (Batch Execution Server)
- gRPC 기반 배치 API로 외부 시스템이 배치 실행을 요청할 수 있게 했습니다.
- 타입별 큐/폴링 구조로 배치 데이터를 검증·변환하고 순차 실행합니다.
- 가스/Nonce/실패 유형을 고려해 재시도 정책을 적용하고 로그로 추적 가능하게 구성했습니다.
운영 포인트
- “대량 배치 실행”에서 중요한 것은 검증/실패 분류/재시도/복구(롤백) 까지 포함한 운영 흐름입니다.