← 목록
기타 2026-06-11 3KB 읽기 3분

reward.crowny.org(:9738) API 드리프트 복원

개요

전 라우트 404 증상 수정. 근인 = 라우트 버그가 아니라 잘못된 프로그램이 포트를 점유하고 있었음.

근인

  • PID 91307이 /Users/ef/CrownyOS/crownyc/crownyc run /tmp/crowny-reward.toau 실행 중이었음 (6/11 13:54 기동).
  • 이 toau는 CRP 서버가 아니라 /health만 응답하는 스텁({"status":"healthy","service":"crowny-reward"}), 나머지 전부 {"error":"Not Found"} 404. /tmp/cl_reward_*.html(6/9, 21바이트=404본문) 흔적상 최소 6/9부터 드리프트.
  • 정본 CRP 서버는 CrownyTVM 네이티브(/Users/ef/crowny-reward/보상서버.han, crowny run으로 실행, README·bin/cli.sh 명시). crownyc/hanseonc_high로는 컴파일 불가 — 가져오기가 로컬 .han 모듈(보상플랜_상수 등 19개)을 못 찾고 동명 라이브러리(대시보드/인증 RPN판)를 잘못 끌어와 파싱 실패. crownyc toau 변환 시도가 드리프트의 근원.

수정

  1. 스텁 kill (PID 91307).
  2. 정본 기동: cd /Users/ef/crowny-reward && nohup /Users/ef/Downloads/CrownyTVM/target/release/crowny run 보상서버.han > /tmp/reward-9738.log 2>&1 &
  3. WAL(/Users/ef/crowny-reward/data/wal.dat, 절대경로) 리플레이 검증: 재기동 시 [부팅] WAL 복구 줄수=5 멤버=1 원장=2 — 영속화 정상. WAL 내용은 검증 전 상태로 보존(테스트 레코드 amena_test 포함 148B).

검증

  • / /spec /readme /declare /stats /maturity 전부 200.
  • /work?id=X&kc=27&v=165 → earned_crd 1320, 원리9 3배창조 분배, WAL append 확인.
  • /exchange?id=X&amt=100 → crd_burned/crn_minted 1:1.
  • 게이트웨이 8080/8443은 이 호스트에서 미LISTEN — gateway 세션 소관(백엔드 LISTEN까지 완료).

amena 맘 push API (정확 스펙)

  • 적립: GET http://reward.crowny.org:9738/work?id=<멤버ID>&kc=<크시수>&v=<부가가치100~200> (바디 없음, 쿼리만). 응답: {"id","earned_crd","new_grade","new_total_kc","create_3x","member_share","ecosystem_share","reserve_share"}. 멤버 없으면 자동 생성. v는 100~200 클램프, 기본 165 / kc 기본 3.
  • 조회: GET /member?id=X, GET /stats
  • 교환: GET /exchange?id=X&amt=N
  • /api/inflow는 이 서비스에 존재한 적 없음 — amena는 /work 사용.

잔여 이슈

  • 부팅 영속(LaunchAgent) 없음 — 재부팅 시 수동 기동 필요.
  • /tmp/crowny-reward.toau(스텁), /tmp/crowny-rewardui.toau 출처 미상 — 다른 세션이 crownyc 이행 시도한 산출물로 추정, 미삭제 보존.
  • 테스트 레코드(amena_test, CRD 1320)가 WAL에 남아 있음 — 데이터 보존 원칙상 유지, 필요 시 운영 판단으로 정리.