Actions
업무 #391
진행중
JL
JL
Add admin HTTP server with dev console UI (port 9090)
업무 #391:
Add admin HTTP server with dev console UI (port 9090)
설명
목표¶
포팅 완료된 gRPC 서비스를 브라우저에서 직접 테스트할 수 있는 개발자 콘솔 UI를 구현한다.
범위¶
-
axum의존성 추가 -
src/config.rs—admin_port설정 추가 (기본값 9090) -
src/admin/mod.rs— axum HTTP 서버 + REST API + 임베디드 HTML UI -
src/lib.rs,src/main.rs— admin 서버 등록 및 병렬 실행
REST API 엔드포인트¶
| Method | Path | 설명 |
|---|---|---|
| GET | /api/auth/keypair | secp256k1 키페어 생성 |
| POST | /api/auth/challenge | 로그인 챌린지 발급 |
| POST | /api/dev/sign | 챌린지 서명 (dev helper) |
| POST | /api/auth/verify | 서명 검증 + JWT 발급 |
| GET | /api/users/:wallet | 사용자 프로필 조회 |
| GET | /api/nodes | 노드 목록 |
| GET | /api/nodes/:id | 노드 상세 |
| POST | /api/nodes/challenge | 노드 챌린지 발급 |
| POST | /api/nodes/register | 노드 등록 |
| POST | /api/nodes/:id/heartbeat | 하트비트 (JWT 필요) |
| DELETE | /api/nodes/:id | 노드 삭제 (JWT 필요) |
| GET | /api/wallets/:wallet/receipts | 수익 영수증 (JWT 필요) |
| GET | /api/wallets/:wallet/earnings | 수익 요약 (JWT 필요) |
UI 기능¶
- 서비스별 탭 (Auth / User / Node / Wallet)
- 엔드포인트별 입력 카드 + 응답 JSON 패널
- 자동 채우기: Keypair → Challenge → Sign → Verify 순서 흐름
- JWT 헤더 표시 및 저장
DoD¶
-
cargo build통과 - port 9090에서 UI 접근 가능
- 모든 API 엔드포인트 정상 동작
- 브라우저에서 전체 Auth 흐름 테스트 가능
Actions