XDOrbXDOrb

Setting Up XDOrb

Complete guide to spinning up your own instance of the XDOrb Analytics Platform.

What You Need
  • Go 1.25 or newer
  • Node.js 18 or newer, plus pnpm
  • A running Redis instance
  • API keys for Jupiter and Google Gemini
Backend Setup

Clone the backend directory from github.com/DavidNzube101/xdorb-backend. You'll need to configure your environment variables. Create a .env file in the backend folder:

cat << EOF > .env
API_KEY="<YOUR_PRIMARY_API_KEY>" 
ENVIRONMENT="development"
FIREBASE_CLIENT_EMAIL="<FIREBASE_SERVICE_ACCOUNT_EMAIL>"
FIREBASE_PRIVATE_KEY="<FIREBASE_PRIVATE_KEY_CONTENT>"
FIREBASE_PROJECT_ID="<YOUR_FIREBASE_PROJECT_ID>"
GEMINI_API_KEY="<YOUR_GEMINI_API_KEY>" # get from aistudio.google.com/
HISTORY_CACHE_TTL="1h"
JUPITER_API_KEY="<YOUR_JUPITER_API_KEY>" # get from portal.jup.ag/api-keys
PNODE_CACHE_TTL="2m"
PORT="9000"
PRICE_CACHE_TTL="30m"
PRPC_ENDPOINT="https://xandeum.network"
PRPC_TIMEOUT="10s"
RATE_LIMIT_RPM="100"
REDIS_DB="0"
REDIS_PASSWORD="<YOUR_REDIS_PASSWORD>"
REDIS_URL="<REDIS_HOST_AND_PORT>"
SMTP_HOST="smtp.gmail.com"
SMTP_PORT="587"
STATS_CACHE_TTL="5m"
TELEGRAM_ADMIN_PASSWORD="<ADMIN_PASSWORD_FOR_TELEGRAM_BOT>"
TELEGRAM_BOT_TOKEN="<YOUR_TELEGRAM_BOT_TOKEN>" # get from t.me/BotFather
UPDATE_SERVICE_EMAIL="<YOUR_GMAIL_ADDRESS>"
UPDATE_SERVICE_EMAIL_APP_PASSWORD="<YOUR_GMAIL_APP_PASSWORD>"
VALID_API_KEYS="<COMMA_SEPARATED_LIST_OF_VALID_API_KEYS>"
GIN_MODE="debug"
EOF

Once your .env file is ready, run the following command to clean modules, download the IP database, build, and start the server:

go mod tidy && curl -L "https://github.com/DavidNzube101/xdorb-backend/releases/download/v1.0-db/IP2LOCATION-LITE-DB11.IPV6.BIN" -o location-db/IP2LOCATION-LITE-DB11.IPV6.BIN && go build -tags netgo -ldflags '-s -w' -o server ./cmd/server && ./server
Server should start on port 9000
UI Setup

Navigate to the frontend directory. You can find the repository at github.com/DavidNzube101/xdorb. Create a .env file:

cat << EOF > .env
NODE_ENV=development
GEMINI_API_KEY=<YOUR_GEMINI_API_KEY> # client side ai
API_BASE=http://localhost:9000 # or whatever the port was
API_KEY=<API_KEY_FROM_BACKEND>

# Client-side variables
NEXT_PUBLIC_SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
EOF

Note: The API_KEY must match one of the keys in VALID_API_KEYS from your backend configuration.

Install dependencies, build, and start the application:

pnpm i && pnpm build && pnpm start
UI running at http://localhost:3000
Using XDOrb

For a detailed explanation of XDOrb's features and how to leverage them, read our official Medium article:
XDOrb Analytics Platform for Xandeum Network

Viewing pNodes

Head to the pNodes dashboard to see all network nodes. Use search and filters to find specific validators or regions.

AI Insights

Check the Intelligent Network Summary for an overview, or select two nodes to run a detailed AI comparison.

Trading Terminal

Open the full-screen terminal to view live charts and swap tokens via Jupiter integration.

Live Analytics

Visit the Analytics page for real-time visualizations of network health, storage, and throughput.