Files
smom-dbis-138/services/token-aggregation/README_CONTROL_PANEL.md
2026-03-02 12:14:09 -08:00

3.8 KiB

Token Aggregation Service - Control Panel & Proxmox Deployment

Complete Implementation

The Token Aggregation Service now includes a full-featured Control Panel and Proxmox deployment capabilities.

Features

Control Panel UI

  • Dashboard: Real-time service statistics
  • API Key Management: Add/edit/delete external API keys
  • Endpoint Management: Configure RPC and API endpoints
  • DEX Factory Management: Manage DEX factory addresses
  • Authentication: Secure login with role-based access

Admin API

  • JWT authentication
  • Role-based access control
  • API key encryption
  • Endpoint health checks
  • Audit logging

Proxmox Deployment

  • Automated LXC container creation
  • Service installation
  • Frontend build and nginx setup
  • Systemd service configuration

Quick Start

1. Database Setup

# Run migrations
psql $DATABASE_URL -f explorer-monorepo/backend/database/migrations/0011_token_aggregation_schema.up.sql
psql $DATABASE_URL -f explorer-monorepo/backend/database/migrations/0012_admin_config_schema.up.sql

2. Deploy to Proxmox

cd smom-dbis-138/services/token-aggregation
./scripts/deploy-to-proxmox.sh

3. Create Admin User

./scripts/create-admin-user.sh

4. Access Control Panel

Navigate to http://<container-ip> and login.

File Structure

token-aggregation/
├── src/                    # Backend (22 TypeScript files)
│   ├── api/
│   │   ├── routes/
│   │   │   ├── tokens.ts  # Public API
│   │   │   └── admin.ts   # Admin API
│   │   └── middleware/    # Auth, cache, rate-limit
│   ├── database/
│   │   └── repositories/
│   │       └── admin-repo.ts
│   └── indexer/           # All indexers
├── frontend/              # Control Panel (12 files)
│   ├── src/
│   │   ├── pages/        # 5 pages (Dashboard, Login, ApiKeys, Endpoints, DexFactories)
│   │   ├── components/   # Layout, ProtectedRoute
│   │   ├── services/     # API client
│   │   └── stores/       # Auth store
│   └── Dockerfile        # Frontend container
├── scripts/
│   ├── deploy-to-proxmox.sh
│   └── create-admin-user.sh
└── docker-compose.full.yml  # Full stack

API Endpoints

Public API

  • GET /api/v1/chains
  • GET /api/v1/tokens
  • GET /api/v1/tokens/:address
  • GET /api/v1/tokens/:address/pools
  • GET /api/v1/tokens/:address/ohlcv
  • GET /api/v1/tokens/:address/signals
  • GET /api/v1/search
  • GET /api/v1/pools/:poolAddress

Admin API (requires auth)

  • POST /api/v1/admin/auth/login
  • GET /api/v1/admin/api-keys
  • POST /api/v1/admin/api-keys
  • PUT /api/v1/admin/api-keys/:id
  • DELETE /api/v1/admin/api-keys/:id
  • GET /api/v1/admin/endpoints
  • POST /api/v1/admin/endpoints
  • PUT /api/v1/admin/endpoints/:id
  • GET /api/v1/admin/dex-factories
  • POST /api/v1/admin/dex-factories
  • GET /api/v1/admin/status
  • GET /api/v1/admin/audit-log

Configuration via Control Panel

Adding API Keys

  1. Login to control panel
  2. Navigate to "API Keys"
  3. Click "Add API Key"
  4. Select provider, enter key name and API key
  5. Save

Adding Endpoints

  1. Navigate to "Endpoints"
  2. Click "Add Endpoint"
  3. Select chain, type, enter name and URL
  4. Optionally set as primary
  5. Save

Adding DEX Factories

  1. Navigate to "DEX Factories"
  2. Click "Add Factory"
  3. Select chain and DEX type
  4. Enter factory address
  5. Enter router/pool manager if applicable
  6. Save

Status

Implementation: 100% Complete

  • Backend: Complete
  • Frontend: Complete (5 pages, all components)
  • Database: Complete (2 migrations)
  • Deployment: Complete (Proxmox script ready)

Ready for: Production deployment to Proxmox VM