|
|
пре 2 недеља | |
|---|---|---|
| public | пре 2 недеља | |
| src | пре 2 недеља | |
| .dockerignore | пре 2 недеља | |
| .gitignore | пре 2 недеља | |
| AGENTS.md | пре 2 недеља | |
| Dockerfile | пре 2 недеља | |
| README.md | пре 2 недеља | |
| docker-compose.yml | пре 2 недеља | |
| next.config.ts | пре 2 недеља | |
| package-lock.json | пре 2 недеља | |
| package.json | пре 2 недеља | |
| postcss.config.mjs | пре 2 недеља | |
| tsconfig.json | пре 2 недеља |
Real-time Solana DEX swap flow visualization dashboard. Displays a force-directed network graph showing where volume is moving, what tokens are gaining traction, and swap density across Solana DEXes.
Powered by Helius WebSocket + Enhanced Transactions API.
# Install dependencies
npm install
# Configure environment
cp .env.example .env.local
# Edit .env.local and set your HELIUS_API_KEY
# Start development server
npm run dev
Open http://localhost:3000.
| Variable | Required | Description |
|---|---|---|
HELIUS_API_KEY |
Yes | Helius API key for Solana RPC, WebSocket, and token metadata |
Create a .env.local file:
HELIUS_API_KEY=your_helius_api_key_here
# Build and run
docker compose up -d
# View logs
docker compose logs -f
# Stop
docker compose down
The SQLite database is persisted in a Docker volume (solana-flow-data).
| Technology | Purpose |
|---|---|
| Next.js 16 (App Router) | Framework |
| D3.js + Canvas | Force-directed graph rendering |
| Tailwind CSS v4 | Styling |
| Zustand | Client state |
| better-sqlite3 | Persistent storage (24h) |
| ws | WebSocket client |
Helius WebSocket (logsSubscribe x 9 DEX programs)
-> Batch parse signatures (3x100 every 1.5s)
-> SwapEvent extraction
-> SSE stream to browser + SQLite persistence
-> Zustand store -> D3 force graph (Canvas)
logsSubscribe with DEX program mentions, parsed via Helius Enhanced Transactions APIgetAsset with LRU cacheMIT