🤖 AI 복구 가이드 – MyZubster 프로젝트
요약
MyZubster 프로젝트를 AI가 지속적으로 이해하고 작업을 재개할 수 있도록 설계된 AI 복구 가이드입니다. 프로젝트의 기술 스택, 디렉토리 구조, 비즈니스 로직을 지식 데이터베이스화하여 AI가 효율적으로 프로젝트를 관리하도록 돕습니다.
핵심 포인트
- AI가 프로젝트 구성 요소를 이해하고 중단된 지점부터 작업을 재개할 수 있는 가이드 제공
- Node.js, MongoDB, React 등 상세 기술 스택 및 디렉토리 구조 명시
- DeepSeek AI를 활용한 자율 보안 시스템 및 실물 자산 토큰화 구현
- AI를 지식 데이터베이스로 활용하여 정확한 출처 인용 및 답변 유도
AI가 이 가이드를 검색 엔진 및 지속적 메모리(persistent memory)로 사용하여 언제든지 MyZubster 프로젝트를 읽고, 해석하고, 재개하는 방법.
📌 이 가이드의 목적
이 가이드는 인공지능 (Artificial Intelligence) 시스템(DeepSeek, ChatGPT, Claude 등)이 다음과 같은 작업을 수행할 수 있도록 설계되었습니다:
MyZubster 프로젝트의 모든 구성 요소를 이해합니다.
작업이 중단된 지점부터 작업을 재개합니다.
...
🧠 AI가 이 가이드를 사용하는 방법
AI는 이 가이드를 지식 데이터베이스(knowledge database)로 취급해야 합니다. 사용자가 질문을 하면 AI는 다음과 같이 해야 합니다:
가이드에서 관련 섹션을 검색합니다.
출처를 인용하여 가능한 가장 정확한 답변을 제공합니다 (예: "프로젝트의 섹션 3.1에 따르면...").
...
🏗️ 1. 프로젝트 개요
이름
MyZubster Gateway – 실물 자산 (real-world assets) 토큰화를 위한 탈중앙화 마켓플레이스.
목표
누구나 실물 자산(부동산, 예술품, 지분, 원자재)을 토큰화하고, Monero (XMR)를 결제 통화로 사용하여 비공개로 거래할 수 있도록 합니다. 또한 Kali Linux 및 AI (DeepSeek) 기반의 자율 보안 시스템과 Tari 상의 프로그래밍 가능한 자산 (programmable assets)을 활용합니다.
현재 상태
✅ https://myzubster.com 에서 백엔드 (Backend) 실행 중
✅ 로그인/등록 및 마켓플레이스가 포함된 React/Vite 프론트엔드 (frontend)
...
🛠️ 2. 기술 스택 (Technology Stack)
구성 요소 | 기술
백엔드 (Backend) | Node.js + Express
데이터베이스 (Database) | MongoDB + Mongoose
인증 (Authentication) | JWT + bcrypt
결제 (Payments) | Monero (XMR) – stagenet / mainnet
보안 (Security) | Kali Linux + DeepSeek AI (Ollama)
프로그래밍 가능한 자산 (Programmable Assets) | Tari (Rust node & wallet)
프론트엔드 (Frontend) | React + Vite
프록시 (Proxy) | Nginx
SSL | Let's Encrypt
개인정보 보호 (Privacy) | Tor (onion service)
배포 (Deployment) | Ubuntu 24.04 + Systemd
📂 3. 디렉토리 구조 (Directory Structure)
📂 3. 디렉토리 구조 (Directory Structure)
/root/
├── MyZubsterGateway/ # 백엔드 (Node.js)
│ ├── models/ # MongoDB 모델
│ │ ├── User.js
│ │ ├── Token.js
│ │ ├── TokenHolding.js
│ │ ├── OrderBook.js
│ │ ├── MoneroTransaction.js
│ │ ├── Escrow.js
│ │ └── NFT.js (존재할 경우)
│ ├── routes/ # API 라우트
│ │ ├── auth.js
│ │ ├── tokens.js
│ │ ├── marketplace.js
│ │ ├── payments.js
│ │ ├── escrow.js
│ │ ├── tari.js
│ │ └── ai.js
│ ├── services/ # 비즈니스 로직
│ │ ├── moneroService.js
│ │ ├── tokenService.js
│ │ ├── marketplaceService.js
│ │ ├── deepseekService.js
│ │ ├── disputeService.js
│ │ ├── tariService.js
│ │ └── paymentMonitor.js
│ ├── middleware/ # 미들웨어
│ │ └── auth.js
│ ├── server.js # 진입점
│ ├── .env # 환경 변수
│ └── package.json
│
├── myzubster-frontend/ # 프론트엔드 (React/Vite)
│ ├── src/
│ │ ├── pages/
│ │ │ ├── Login.jsx
│ │ │ ├── Register.jsx
│ │ │ ├── Dashboard.jsx
│ │ │ └── Marketplace.jsx
│ │ ├── components/
│ │ ├── contexts/
│ │ ├── utils/
│ │ └── App.jsx
│ ├── dist/ # 빌드 (Nginx에 의해 제공됨)
│ └── package.json
│
├── monero/ # Monero 지갑
│ └── myzubster_wallet
│
├── tari/ # Tari (컴파일된 파일)
│ └── target/release/
│ ├── minotari_node
│ └── minotari_console_wallet
│
├── security_bot.py # Kali Linux + AI 봇
└── README.md
⚙️ 4. 필수 명령어 (Essential Commands)
4.1 – 게이트웨이 관리 (Gateway Management)
bash
게이트웨이 시작
systemctl start myzubster-gateway
게이트웨이 중지
systemctl stop myzubster-gateway
게이트웨이 재시작
systemctl restart myzubster-gateway
상태 확인
systemctl status myzubster-gateway
로그 보기
journalctl -u myzubster-gateway -n 50 --no-pager
4.2 – 프론트엔드 (Frontend)
bash
프론트엔드 재빌드
cd ~/myzubster-frontend
npm run build
빌드를 Nginx로 복사
cp -r dist/* /var/www/myzubster-frontend/
chown -R www-data:www-data /var/www/myzubster-frontend
Nginx 리로드
systemctl reload nginx
4.3 – Nginx
bash
설정 테스트
Nginx 리로드
systemctl reload nginx
4.3 – Nginx
bash
설정 테스트
nginx -t
재로드 (Reload)
systemctl reload nginx
재시작 (Restart)
systemctl restart nginx
4.4 – Monero
bash
Monero 데몬(stagenet) 시작
cd ~/monero
./monerod --stagenet --detach
지갑 RPC 시작
./monero-wallet-rpc
--rpc-bind-port 18083
--daemon-address node.moneroworld.com:38081
--wallet-file ./myzubster_wallet
--password 'Myzubster2026@!!'
--disable-rpc-login
--trusted-daemon
--stagenet
지갑 잔액 확인
curl -X POST http://localhost:18083/json_rpc \
-H "Content-Type: application/json"
-d '{"jsonrpc":"2.0","id":"0","method":"get_balance"}' | jq '.'
4.5 – Tari
bash
Tari 노드(testnet) 시작
nohup ~/tari/target/release/minotari_node
--network testnet
--base-path ~/tari-data \
~/tari_node.log 2>&1 &
Tari 지갑 시작
nohup ~/tari/target/release/minotari_console_wallet
--network testnet
--password myzubster
--wallet-file ~/tari-wallet \
~/tari_wallet.log 2>&1 &
Tari RPC 확인
curl -X POST http://localhost:12820/json_rpc \
-H "Content-Type: application/json"
-d '{"jsonrpc":"2.0","id":"0","method":"get_balance"}' | jq '.'
4.6 – Security Bot
bash
수동 실행
python3 /root/security_bot.py
로그 확인
tail -20 /var/log/security_bot.log
📊 5. API 엔드포인트 (API Endpoints)
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| POST | /api/auth/register | 신규 사용자 등록 | No |
| POST | /api/auth/login | 로그인, JWT 토큰 획득 | No |
| GET | /api/tokens | 활성 토큰 목록 | No |
| POST | /api/tokens | 토큰 생성 | Yes |
| GET | /api/tokens/holdings | 사용자 보유 자산 | Yes |
| POST | /api/marketplace/sell | 판매 주문 생성 | Yes |
| POST | /api/marketplace/buy/:orderId | 주문으로부터 구매 | Yes |
| GET | /api/marketplace/orders/:tokenId | 오픈된 주문 목록 | No |
| POST | /api/payments | Monero 결제 시작 | Yes |
| GET | /api/payments/:id | 결제 상태 확인 | Yes |
| POST | /api/ai/ask | DeepSeek AI에 질의 | Yes |
| POST | /api/escrow | 에스크로 (Escrow) 생성 | Yes |
| POST | /api/escrow/:id/dispute | 분쟁 (Dispute) 개시 | Yes |
| POST | /api/tari/nft/mint | Tari 상에서 NFT 민팅 | Yes |
| POST | /api/tari/escrow | Tari 멀티시그 (Multisig) 에스크로 생성 | Yes |
| GET | /api/health | 상태 확인 (Health check) | No |
🔧 6. 문제 해결 (Troubleshooting) 일반적인 이슈
6.1 – 게이트웨이 (Gateway)가 시작되지 않음
journalctl -u myzubster-gateway -n 50 --no-pager
cd ~/MyZubsterGateway
node server.js # 에러를 직접 확인
6.2 – 프론트엔드 (Frontend)가 표시되지 않음
# 다시 빌드 및 재배포
cd ~/myzubster-frontend
npm run build
cp -r dist/* /var/www/myzubster-frontend/
chown -R www-data:www-data /var/www/myzubster-frontend
systemctl reload nginx
6.3 – Monero RPC가 응답하지 않음
# 실행 중인지 확인
ps aux | grep monero-wallet-rpc
# 재시작
cd ~/monero
pkill -f monero-wallet-rpc
nohup ./monero-wallet-rpc --rpc-bind-port 18083 --daemon-address node.moneroworld.com:38081 --wallet-file ./myzubster_wallet --password 'Myzubster2026@!!' --disable-rpc-login --trusted-daemon --stagenet > monero-wallet-rpc.log 2>&1 &
6.4 – Nginx 포트가 이미 사용 중임
systemctl stop nginx
pkill -f nginx
systemctl start nginx
🌍 7. 중요 링크 (Important Links)
라이브 데모 (Live Demo): https://myzubster.com
GitHub: DanielIoni-creator/MyZubsterGateway
...
🧩 8. AI 상호작용 프로토콜 (AI Interaction Protocol)
AI가 이 가이드를 읽고 질문을 받았을 때, 다음과 같이 수행해야 합니다:
가이드에서 관련 섹션을 검색합니다.
정확한 섹션 참조와 함께 답변을 제공합니다 (예: "섹션 4.1에 따르면...").
...
📌 9. 프로젝트의 다음 단계 (Next Steps for the Project)
우선순위 작업 상태
높음 (High) 브라우저에서 마켓플레이스 테스트하기 🔴 할 일 (To do)
높음 (High) Monero 결제가 엔드 투 엔드 (end-to-end)로 작동하는지 확인하기 🔴 할 일 (To do)
높음 (High) 보안 봇 (security bot)이 자동으로 실행되는지 확인하기 🔴 할 일 (To do)
중간 (Medium) Tor 양파 서비스 (onion service)를 새로운 VPS로 마이그레이션하기 🟡 진행 중 (In progress)
중간 (Medium) 마켓플레이스에 NFT 거래 기능 구현하기 🟡 할 일 (To do)
낮음 (Low) 관리자 대시보드 구축하기 🟢 나중에 (Later)
낮음 (Low) CI/CD 보안 통합 추가하기 🟢 나중에 (Later)
💬 10. AI 응답 형식 (AI Response Format)
AI가 응답할 때는 다음 형식을 따라야 합니다:
text
[섹션 참조 (Section Reference)]
📌 답변 (Answer): [사용자 질문에 대한 간결한 답변]
💻 명령어 (Command): [해당하는 경우, 실행할 정확한 명령어]
🔧 다음 단계 (Next Step): [제안된 다음 작업]
🤔 질문 (Question): [사용자에게 계속 진행할지 또는 명확한 설명이 필요한지 질문]
이 가이드는 살아있는 문서 (living document)입니다. AI는 프로젝트가 진화함에 따라 새로운 발견 사항, 명령어 및 설정을 사용하여 이를 업데이트해야 합니다.
이 응답은 AI에 의해 생성되었습니다. 정확성을 확인하십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기