← 목록
기타 2026-04-23 2KB 읽기 2분

EFcard Phase 5 — 라이선스 시스템 + SQLite 영속화

개요

EFcard 라이선스 결제 시스템 완성 + 기존 라이선스 버그 수정.

작업 내용

1. 라이선스 SQLite 영속화 (버그 수정)

  • 문제: db.licenses = {} + saveDb() (no-op) → 라이선스가 메모리에만 존재, 서버 재시작 시 소실
  • 수정: licenses SQLite 테이블 + saveLicense() / getLicense() 함수
  • JSON→SQLite 마이그레이션에 licenses 포함

2. Nonce 마이그레이션 수정

  • WebAuthn challenge nonce가 객체({wallet_id, purpose, ts})인데 INTEGER 컬럼에 직접 삽입 시도 → RangeError
  • typeof v === 'object' ? JSON.stringify(v) : v 로 안전 처리

3. 결제로직.한선 확장 (125줄 → 195줄)

기존 담보/한선코드/결제시뮬에 추가:
  • 사기검사() — velocity(5분/1시간), spike(10배), scatter 탐지
  • 승급판정() — T0→T1→T2 자동 승급 조건 판정
  • 일일한도() / 일일한도체크() — Tier별 한도
  • 라이선스서명() / 라이선스검증() — HMAC 서명 생성/검증
  • 라이선스가격() — SKU별 맘 단위 가격

4. 에이전트 학습 (+3 패턴)

  • 사기탐지_velocity_spike
  • 라이선스_서명_검증
  • tier_승급_판정

5. 로드맵 갱신

Phase 1~3, 5 완료 표시. Phase 4(솔루션·컨설팅)만 남음.

테스트 결과

카드 발급 → EF-BUYER-01                    ✅
담보 50000맘 부여                           ✅
CROWNYC-DEV 구매 (300맘, 담보 사용)          ✅
라이선스 SQLite 영속                         ✅
토큰 HMAC 검증 → valid=True sku=CROWNYC-DEV ✅

관련 파일

  • /Users/ef/crowny-card/server.js — licenses 테이블 + saveLicense + nonce 마이그레이션 수정
  • /Users/ef/crowny-card/src/결제로직.한선 — 사기탐지/Tier/라이선스 한선씨 동반
  • /Users/ef/crowny-card/CLAUDE.md — 로드맵 Phase 1~5 갱신

잔여 이슈

  • Phase 4 (솔루션·컨설팅 재결제) 미구현
  • market 주문 스키마에 buyerWallet/sellerWallet 필드 추가 필요
  • 한선씨 결제로직.한선 → 실제 컴파일 체인 연결 (시뮬레이션만)