Main Site

아키텍처

시스템 개요

[Frontend (React/Next.js)]
    ↓ HTTP/HTTPS
[Cloudflare Workers (API)]
    ↓
[Cloudflare D1 (SQL) + KV (Cache)]
    ↓
[SUI Blockchain (Move)]
    ↓
[LLM Service (Myth Engine)]

레이어 구조

1. Frontend Layer

  • 기술: React, Next.js, TypeScript, Tailwind CSS
  • 역할: 사용자 인터페이스, 지갑 연결, 상태 관리
  • 배포: Cloudflare Pages (Static Export)

2. API Layer

  • 기술: Cloudflare Workers, Hono
  • 역할: RESTful API, 인증, Rate Limiting
  • 특징: Edge Computing, 자동 확장

3. Data Layer

  • D1 Database: SQLite 기반, 영구 데이터 저장
  • KV Namespace: 캐시 및 실시간 상태
  • 특징: 글로벌 분산, 낮은 지연시간

4. Blockchain Layer

  • 기술: SUI, Move 언어
  • 역할: Citizen NFT, Chronicle Anchor, Myth Artifact
  • 특징: Soulbound NFT, 불변 기록

데이터 흐름

시민 행동 → Chronicle 기록

  1. Citizen이 Frontend에서 행동 수행
  2. API 호출: POST /api/citizen/action
  3. Credit Service가 Civic Credit 계산
  4. Chronicle Service가 이벤트 기록
  5. D1 Database에 저장
  6. Era 종료 시 SUI Blockchain에 앵커링

보안 아키텍처

  • 지갑 서명 검증: 모든 요청에 X-Wallet-Address 헤더 필요
  • CSRF 보호: CSRF 토큰으로 상태 변경 요청 보호
  • SQL Injection 방지: 155개 Prepared Statements 사용
  • XSS 방지: Input Sanitization
  • Rate Limiting: API 요청 제한

확장성

  • Cloudflare Workers: 자동 확장, 1,000+ 동시 사용자 지원
  • Edge Computing: 전 세계 어디서나 낮은 지연시간
  • 캐싱 전략: KV를 활용한 자주 접근하는 데이터 캐싱
  • DB 최적화: 인덱스 생성, Prepared Statements