XPChain 공식 웹사이트(www.xpchain.co.kr) 프로젝트입니다.
공개 저장소 기준으로 운영되며, 민감 운영 문서는 별도 private 저장소에서 관리합니다.
- Next.js 14
- TypeScript
- Tailwind CSS
- Node.js 18 이상 권장
- npm 사용
npm install
cp .env.example .env
npm run dev브라우저에서 http://localhost:3000으로 접속합니다.
npm run build
npm run start기본 실행 포트는 3000입니다.
ecosystem.config.cjs를 사용해 PM2로 운영할 수 있습니다.
npm run build
pm2 start ecosystem.config.cjs
pm2 list
pm2 logs xpchain-web --lines 100변경 반영 시에는 아래처럼 재시작합니다.
pm2 restart xpchain-web
pm2 restart xpchain-web-monitor.env.example을 .env로 복사한 뒤 환경에 맞게 설정합니다.
XPCHAIN_RPC_URL: XPChain 노드 RPC 주소XPCHAIN_RPC_USER: RPC 인증 사용자XPCHAIN_RPC_PASSWORD: RPC 인증 비밀번호XPCHAIN_NETWORK_NAME: 네트워크 이름(예:mainnet)XPCHAIN_RPC_TIMEOUT_MS: RPC 타임아웃(ms)EXPLORER_DB_STATUS_URL: 익스플로러 DB 상태 API 주소EXPLORER_DB_STATUS_TIMEOUT_MS: 익스플로러 DB 상태 조회 타임아웃(ms)XPCHAIN_ANALYTICS_DB_PATH: 클릭 통계 이벤트 로그 파일 경로 (기본:data/analytics-events.jsonl)TRACKING_STATS_TOKEN: 내부 통계 페이지/통계 API 보호용 토큰 (선택)
npm run dev: 개발 서버 실행npm run build: 프로덕션 빌드 생성npm run start: 프로덕션 서버 실행npm run lint: 린트 실행npm run monitor:api: API 상태 모니터 스크립트 실행
- 경로:
/admin/track?days=30 - 토큰 보호 사용 시:
/admin/track?days=30&token=YOUR_TOKEN - API 조회:
/api/track/stats?days=30(토큰 설정 시token쿼리 필요)
app/: Next.js App Router 페이지 및 API 라우트components/: 공용 UI 컴포넌트lib/: 링크/설정/유틸리티public/: 정적 에셋(문서, 백서, 이미지)docs/: 공개 가능한 운영/개발 문서
- 민감 운영 문서는 별도 private 저장소(
xpchain-web-private-docs)에서 관리합니다.