Дата тестування: 2025-06-04
Статус: ✅ Розширений тест з CEX + DEX endpoints - 69% загальний success rate
- 16 бірж протестовано (11 CEX + 5 DEX)
- 59 тестів виконано (44 CEX + 15 DEX)
- 41 тест пройшов (69% success rate)
- 18 тестів не пройшло (різні проблеми)
- Середній час відповіді: 886ms
- + Прямі тести CEX бірж для порівняння з нашим API
| Біржа | Статус | Час відповіді | Примітка |
|---|---|---|---|
| HTX (Huobi) | ✅ Працює | 497ms | 🟡 Середньо |
| MEXC Global | ✅ Працює | 115ms | ✅ Швидко |
| Gate.io | ❌ 404 Error | - | API не підтримує |
| KuCoin | ✅ Працює | 133ms | ✅ Швидко |
| XT.com | ✅ Працює | 128ms | ✅ Швидко |
| LBank | ✅ Працює | 124ms | ✅ Швидко |
| BitMart | ✅ Працює | 125ms | ✅ Швидко |
| Phemex | ✅ Працює | 122ms | ✅ Швидко |
| Bitget | ✅ Працює | 124ms | ✅ Швидко |
| Bybit | ✅ Працює | 114ms | ✅ Найшвидший |
| BingX | ❌ 404 Error | - | API не підтримує |
Оцінка: 9/11 працюють (82%) - 8/10 балів
| Біржа | Статус | Час відповіді | Примітка |
|---|---|---|---|
| HTX (Huobi) | ✅ Працює | 1268ms | |
| MEXC Global | ✅ Працює | 600ms | 🟡 Середньо |
| Gate.io | ❌ 404 Error | - | API не підтримує |
| KuCoin | ❌ 404 Error | - | Endpoint не працює |
| XT.com | 2895ms | 🔴 ДУЖЕ ПОВІЛЬНО! | |
| LBank | ✅ Працює | 206ms | ✅ Швидко |
| BitMart | ✅ Працює | 191ms | ✅ Швидко |
| Phemex | ✅ Працює | 199ms | ✅ Швидко |
| Bitget | ✅ Працює | 676ms | 🟡 Середньо |
| Bybit | ✅ Працює | 453ms | 🟡 Середньо |
| BingX | ❌ 404 Error | - | API не підтримує |
Оцінка: 8/11 працюють (73%) - 6/10 балів (через повільність XT.com)
| Біржа | Статус | Час відповіді | Примітка |
|---|---|---|---|
| HTX (Huobi) | ✅ Працює | 542ms | 🟡 Середньо |
| MEXC Global | ✅ Працює | 205ms | ✅ Швидко |
| Gate.io | ❌ 404 Error | - | API не підтримує |
| KuCoin | ✅ Працює | 216ms | ✅ Швидко |
| XT.com | ✅ Працює | 1022ms | |
| LBank | ✅ Працює | 272ms | ✅ Швидко |
| BitMart | ✅ Працює | 145ms | ✅ Швидко |
| Phemex | ✅ Працює | 258ms | ✅ Швидко |
| Bitget | ✅ Працює | 306ms | ✅ Швидко |
| Bybit | ✅ Працює | 190ms | ✅ Швидко |
| BingX | ❌ 404 Error | - | API не підтримує |
Оцінка: 9/11 працюють (82%) - 8/10 балів
| Біржа | Статус | Час відповіді | Примітка |
|---|---|---|---|
| HTX (Huobi) | ✅ Працює | 266ms | ✅ Швидко |
| MEXC Global | ✅ Працює | 201ms | ✅ Швидко |
| Gate.io | ❌ 404 Error | - | API не підтримує |
| KuCoin | ✅ Працює | 185ms | ✅ Швидко |
| XT.com | ✅ Працює | 119ms | ✅ Швидко |
| LBank | ✅ Працює | 127ms | ✅ Швидко |
| BitMart | ✅ Працює | 148ms | ✅ Швидко |
| Phemex | ✅ Працює | 184ms | ✅ Швидко |
| Bitget | ✅ Працює | 163ms | ✅ Швидко |
| Bybit | ❌ 404 Error | - | Endpoint не працює |
| BingX | ❌ 404 Error | - | API не підтримує |
Оцінка: 8/11 працюють (73%) - 7/10 балів
CEX Загальна оцінка: 34/44 тести (77%) - 7/10 балів
| Біржа | Мережа | Статус | Час відповіді | Примітка |
|---|---|---|---|---|
| Uniswap V2 | Ethereum | ✅ Працює | 733ms | 🟡 Повільно, але працює |
| Uniswap V3 | Ethereum | ✅ Працює | 361ms | 🟡 Середньо |
| PancakeSwap | BSC | ❌ 404 Error | - | API не підтримує BSC |
| Raydium | Solana | ✅ Працює | 1182ms | |
| Ston.fi | TON | ❌ 404 Error | - | API не підтримує TON |
Оцінка: 3/5 працюють (60%) - 6/10 балів
| Біржа | Мережа | Статус | Час відповіді | Примітка |
|---|---|---|---|---|
| Uniswap V2 | Ethereum | ❌ 404 Error | - | Endpoint не працює |
| Uniswap V3 | Ethereum | ❌ Timeout | 10000ms+ | 🔴 Критично повільно |
| PancakeSwap | BSC | ❌ 404 Error | - | API не підтримує BSC |
| Raydium | Solana | ✅ Працює | 1425ms | |
| Ston.fi | TON | ❌ 404 Error | - | API не підтримує TON |
Оцінка: 1/5 працюють (20%) - 2/10 балів (критичні проблеми)
| Біржа | Мережа | Статус | Час відповіді | Примітка |
|---|---|---|---|---|
| Uniswap V2 | Ethereum | ✅ Працює | 457ms | 🟡 Середньо |
| Uniswap V3 | Ethereum | ✅ Працює | 1049ms | |
| PancakeSwap | BSC | ❌ 404 Error | - | API не підтримує BSC |
| Raydium | Solana | ✅ Працює | 498ms | 🟡 Середньо |
| Ston.fi | TON | ❌ 404 Error | - | API не підтримує TON |
Оцінка: 3/5 працюють (60%) - 6/10 балів
DEX Загальна оцінка: 7/15 тестів (47%) - 5/10 балів
- 🏆 Raydium (Solana): ✅ 3/3 працюють - єдина повністю робоча DEX!
⚠️ Uniswap V2 (Ethereum): 🟡 2/3 працюють - price ✅, pool-data ✅, trades ❌⚠️ Uniswap V3 (Ethereum): 🟡 2/3 працюють - price ✅, pool-data ✅, trades timeout- ❌ PancakeSwap (BSC): 🔴 0/3 працюють - мережа BSC не підтримується
- ❌ Ston.fi (TON): 🔴 0/3 працюють - мережа TON не підтримується
- 🥇 Ethereum (Uniswap): 361-1049ms - працює, але повільно
- 🥈 Solana (Raydium): 498-1425ms - працює стабільно, але повільно
- 🚫 BSC (PancakeSwap): API не підтримує мережу
- 🚫 TON (Ston.fi): API не підтримує мережу
Дата тестування: 6 червня 2025
WebSocket URL: wss://websocket-service-dev.techchain.solutions
Статус: ❌ 0% success rate - всі endpoints повертають 502 Bad Gateway
| Біржа | Price Endpoint | Orderbook Endpoint | Статус | Час з'єднання |
|---|---|---|---|---|
| HTX | ❌ 502 Bad Gateway | ❌ 502 Bad Gateway | 🔴 Критично | 1,373ms/1,395ms |
| MEXC | ❌ 502 Bad Gateway | ❌ 502 Bad Gateway | 🔴 Критично | 1,355ms/1,356ms |
| KuCoin | ❌ 502 Bad Gateway | ❌ 502 Bad Gateway | 🔴 Критично | 1,416ms/1,351ms |
| Bybit | ❌ 502 Bad Gateway | ❌ 502 Bad Gateway | 🔴 Критично | 1,343ms/1,609ms |
| Біржа | Price Endpoint | Статус | Час з'єднання |
|---|---|---|---|
| Uniswap V3 | ❌ 502 Bad Gateway | 🔴 Критично | 1,443ms |
| Raydium | ❌ 502 Bad Gateway | 🔴 Критично | 1,376ms |
| Критерій | Оцінка | Деталі |
|---|---|---|
| WebSocket доступність | 0/20 | Жодне з'єднання не працює |
| WebSocket продуктивність | 0/20 | Неможливо виміряти через 502 помилки |
| WebSocket стабільність | 0/20 | 100% збій на всіх endpoints |
| Real-time функціональність | 0/20 | Всі WS endpoints недоступні |
| Інфраструктура готовність | 0/20 | Критичні 502 помилки |
- 🔴 502 Bad Gateway на всіх endpoints - проблема з проксі/gateway конфігурацією
- 🔴 WebSocket Upgrade не працює - Nginx/Load Balancer неправильно налаштований
- 🔴 Real-time функції недоступні - критично для trading додатків
- 🔴 Timeout 1.3-1.6 секунд до отримання помилки на кожному з'єднанні
- Діагностика Nginx/Load Balancer WebSocket конфігурації
- Перевірка WebSocket Upgrade headers передачі
- Статус backend WebSocket сервісу
- Альтернативні URL/порти для WebSocket
# Запуск WebSocket тестів
npm run test:websocket
# Детальний звіт в ./reports/websocket-test-[timestamp].json📄 Повний звіт: webSocketTestResult.md
| Система | Оцінка | Детальне обґрунтування |
|---|---|---|
| HTTP API System | 74/100 | 69% success rate, CEX стабільні, DEX потребують роботи |
| WebSocket System | 0/100 | Критичний збій - всі endpoints повертають 502 Bad Gateway |
| Загальна готовність | 37/100 | WebSocket критичні проблеми блокують production |
| Критерій | Оцінка | Детальне обґрунтування |
|---|---|---|
| 1. Покриття CEX бірж | 8/10 | 9/11 працюють (82% success rate) |
| 2. Покриття DEX бірж | 5/10 | 3/5 працюють, тільки 2 мережі підтримуються |
| 3. Стабільність endpoints | 7/10 | CEX стабільні (77%), DEX мають проблеми (47%) |
| 4. Швидкість роботи | 6/10 | XT.com orderbook 2.9s, DEX endpoints повільні |
| 5. Покриття функціональності | 8/10 | CEX: 4/4 endpoints, DEX: 3/3 endpoints реалізовані |
| 6. Надійність API | 7/10 | 69% success rate - прийнятно для dev середовища |
| 7. Обробка помилок | 8/10 | Чіткі 404 помилки, timeout handling |
| 8. Моніторинг та звітність | 9/10 | Детальні JSON звіти + консольний output |
| 9. DEX підтримка | 5/10 | Тільки Ethereum + Solana працюють |
| 10. Production readiness | 4/10 | Критичні блокери для prod |
| Критерій | Оцінка | Детальне обґрунтування |
|---|---|---|
| 1. WebSocket доступність | 0/20 | Жодне з'єднання не працює - всі 502 Bad Gateway |
| 2. WebSocket продуктивність | 0/20 | Неможливо виміряти через критичні помилки |
| 3. WebSocket стабільність | 0/20 | 100% збій на всіх 10 endpoints |
| 4. Real-time функціональність | 0/20 | Всі WS endpoints недоступні |
| 5. Інфраструктура готовність | 0/20 | Критичні 502 помилки вимагають DevOps втручання |
- 🔴 Gate.io - всі endpoints 404 (повністю недоступний через API)
- 🔴 BingX - всі endpoints 404 (повністю недоступний через API)
- 🔴 KuCoin orderbook - 404 error (критичний endpoint не працює)
- 🔴 Bybit history - 404 error (endpoint не працює)
- 🔴 XT.com orderbook - 2895ms (неприйнятно повільно для production)
- 🔴 PancakeSwap - повністю недоступний (BSC мережа не підтримується)
- 🔴 Ston.fi - повністю недоступний (TON мережа не підтримується)
- 🔴 Uniswap V2 trades - 404 error
- 🔴 Uniswap V3 trades - timeout 10s+ (критично повільно)
- 🔴 WebSocket інфраструктура повністю зламана - всі endpoints 502 Bad Gateway
- 🔴 Real-time функції недоступні - критично для trading додатків
- 🔴 WebSocket Upgrade не працює - проблема з Nginx/Load Balancer конфігурацією
- 🔴 DevOps втручання потрібне негайно - 0% success rate на всіх WS endpoints
- XT.com orderbook - 2895ms (критично повільно)
- Uniswap V3 trades - timeout 10s+
- Raydium endpoints - 1182-1425ms (повільно для production)
- DEX endpoints загалом - 361-1425ms (повільніше за CEX)
- 🟢 Price endpoints - стабільні на 9/11 біржах (114-497ms)
- 🟢 Trades endpoints - працюють на 9/11 біржах (145-1022ms)
- 🟢 History endpoints - швидкі на більшості бірж (119-266ms)
- 🟢 Phemex, Bitget - працюють стабільно через API
- 🟢 Raydium - повністю працює (єдина DEX з 100% success rate)
- 🟢 Uniswap V2/V3 price - стабільно працюють (361-733ms)
- 🟢 Pool data endpoints - працюють на Ethereum + Solana
- 🟢 Ethereum підтримка - базова функціональність працює
- Gate.io/BingX integration - дослідити alternative API endpoints або відключити
- KuCoin orderbook fix - критично: 404 error на важливому endpoint
- XT.com performance optimization - orderbook 2.9s неприйнятно
- BSC мережа - додати підтримку для PancakeSwap (популярна DEX)
- Uniswap trades optimization - виправити 404/timeout issues
- WebSocket інфраструктура діагностика - негайно виправити 502 Bad Gateway
- Nginx/Load Balancer WebSocket конфігурація - налаштувати WebSocket Upgrade
- Backend WebSocket сервіс - перевірити статус та логи
- WebSocket автентифікація/headers - можливо потрібні додаткові налаштування
- Alternative WebSocket URLs/ports - перевірити різні endpoints
- TON мережа - додати підтримку для Ston.fi (зростаюча мережа)
- DEX endpoints optimization - загальне прискорення (цільовий <500ms)
- Bybit history fix - 404 error на history endpoint
- Timeout handling - покращити для DEX (зараз 10s+)
- WebSocket продуктивність - після фіксу 502, оптимізувати швидкість
- Response time optimization - цільовий час <300ms для всіх endpoints
- Parallel DEX requests - паралельні виклики для прискорення
- Additional chain support - Polygon, Avalanche, Arbitrum
- Caching layer - для покращення швидкості повторних запитів
- WebSocket monitoring - після фіксу, додати постійний моніторинг
Комплексна система тестування для market data API, яка перевіряє доступність та продуктивність 16 різних бірж (11 CEX + 5 DEX) через 6 різних endpoints.
- CEX + DEX тестування всіх доступних бірж та мереж
- Метрики продуктивності з детальним вимірюванням часу відповіді
- Пряме порівняння з API vs direct exchange calls (CEX)
- Multi-chain підтримка - Ethereum, BSC, Solana, TON
- Детальна звітність у JSON та консольних форматах
- Retry логіка з proper error handling
- TypeScript з повною типізацією
npm install# Основна команда для запуску всіх HTTP тестів (CEX + DEX)
npm run test:run
# Або альтернативно
npm run start# Тестування WebSocket endpoints (всі повертають 502 Bad Gateway)
npm run test:websocket# Автоматичний запуск HTTP тестів 5 разів з паузою
npm run test:run:5x
# Або альтернативно:
./run-tests-5x.sh
# Або мануально:
for i in {1..5}; do
echo "=== Test Run #$i ==="
npm run test:run
echo "Completed run $i/5"
sleep 5
done🔗 Репозиторій: https://github.com/AlexSerbinov/exchange-tests.git
# Клонування проєкту
git clone https://github.com/AlexSerbinov/exchange-tests.git
cd exchange-tests
# Встановлення та запуск
npm install
npm run test:runПрограма виводить у консоль:
- ✅ Connectivity статус для CEX та DEX
- 📊 Загальну статистику тестів по типах бірж
- 🏆 Найшвидші біржі (CEX + DEX)
- 🐌 Найповільніші біржі
⚠️ Performance issues (> 5 секунд)- ❌ Помилки та failed тести з детальним описом
Детальний звіт зберігається у папці ./reports/:
./reports/market-data-test-[timestamp].jsonСтруктура звіту:
{
"summary": {
"totalExchanges": 16,
"totalTests": 59,
"passedTests": 41,
"failedTests": 18,
"averageResponseTime": 886,
"slowestExchanges": [...],
"fastestExchanges": [...],
"performanceIssues": [...]
},
"exchangeResults": [...],
"directTestResults": {...},
"configuration": {...},
"metadata": {...}
}src/
├── config/ # Конфігурація API та бірж
│ ├── app.config.ts # Основні налаштування
│ └── exchanges.config.ts # Конфігурація CEX/DEX бірж та test data
├── services/ # Основні сервіси
│ ├── api-client.service.ts # HTTP клієнт для API (CEX + DEX)
│ └── market-data-test.service.ts # Логіка тестування CEX/DEX
├── types/ # TypeScript типи
│ └── api.types.ts # API responses та test результати
└── main.ts # Entry point програми
- HTX (Huobi) ✅ 4/4, MEXC Global ✅ 4/4, Gate.io ❌ 0/4, KuCoin
⚠️ 3/4, XT.com ✅ 4/4 - LBank ✅ 4/4, BitMart ✅ 4/4, Phemex ✅ 4/4, Bitget ✅ 4/4, Bybit
⚠️ 3/4, BingX ❌ 0/4
GET /get-price/{base}/{quote}/{exchange}✅ (9/11 працюють)GET /get-orderbook/{base}/{quote}/{depth}/{exchange}⚠️ (8/11 працюють)GET /get-trades/{base}/{quote}/{exchange}✅ (9/11 працюють)GET /get-history/cex/{tickerA}/{tickerB}/{timeframe}/{exchange}⚠️ (8/11 працюють)
- Uniswap V2 (Ethereum)
⚠️ 2/3 - Uniswap V3 (Ethereum)⚠️ 2/3 - PancakeSwap (BSC) ❌ 0/3 - Raydium (Solana) ✅ 3/3 - Ston.fi (TON) ❌ 0/3
GET /get-price/dex/{tokenAddress}/{poolAddress}/{chainId}/{exchange}⚠️ (3/5 працюють)GET /get-trades/dex/{tokenAddress}/{poolAddress}/{chainId}/{exchange}❌ (1/5 працюють)GET /get-pool-data/dex/{tokenAddress}/{poolAddress}/{chainId}/{exchange}⚠️ (3/5 працюють)
GET /health✅ (100% uptime)GET /readiness✅ (100% uptime)
Всі налаштування знаходяться в src/config/app.config.ts:
export const appConfig = {
api: {
baseUrl: 'https://market-data-service-dev.techchain.solutions',
timeout: 10000, // 10 секунд
},
performance: {
targetMs: 5000, // Цільовий час відповіді
warningMs: 3000, // Warning threshold
},
test: {
retryCount: 3, // Кількість повторних спроб
retryDelay: 1000, // Затримка між спробами
}
};- BTC/USDT ✅ (основна тестова пара - поточно тестується)
- ETH/USDT, BNB/USDT, SOL/USDT, DOGE/USDT 📋 (заплановано)
- Ethereum: ETH/USDC, WBTC/ETH (Uniswap V2/V3)
⚠️ - BSC: BNB/USDT, CAKE/BNB (PancakeSwap) ❌
- Solana: SOL/USDC (Raydium) ✅
- TON: TON/USDT (Ston.fi) ❌
Connection Errors
❌ Cannot connect to API- Перевірте інтернет з'єднання
- Перевірте чи API сервіс доступний
Timeout Errors (особливо DEX)
timeout of 10000ms exceeded- Це нормально для деяких DEX endpoints
- Змініть timeout в
app.config.tsякщо потрібно (DEX може потребувати >10s)
404 Errors (Gate.io, BingX, PancakeSwap, Ston.fi)
Request failed with status code 404- Відомі проблеми, працюємо над вирішенням
- Gate.io/BingX можливо потребують інший формат endpoint
- PancakeSwap/Ston.fi - мережі BSC/TON можливо не підтримуються API
Network-specific Issues
DEX endpoints failing on specific chains- BSC (PancakeSwap) - API не підтримує Binance Smart Chain
- TON (Ston.fi) - API не підтримує TON Network
- Ethereum + Solana працюють стабільно
- ✅ CEX тестування: 77% success rate (34/44 тестів)
⚠️ DEX тестування: 47% success rate (7/15 тестів)- ✅ Performance metrics: Детальні метрики швидкості
- ✅ JSON звітність: Автоматичні звіти
- ✅ Error handling: Proper error tracking
- ✅ Direct testing: Порівняння з прямими API calls (CEX)
- ✅ Multi-chain support: Ethereum, Solana (частково BSC, TON)
- Gate.io/BingX 404 fix: Дослідити правильні endpoint URLs
- KuCoin performance fix: orderbook 404, history 6.3s
- BSC network support: Додати підтримку для PancakeSwap
- TON network support: Додати підтримку для Ston.fi
- Uniswap trades optimization: Виправити 404/timeout
- DEX performance optimization: Загальне прискорення endpoints
- Parallel DEX testing: Concurrent requests для DEX
- Additional chain support: Polygon, Avalanche, Arbitrum
- Multiple trading pairs: ETH/USDT, BNB/USDT для CEX
- DEX pool variety: Різні token pairs для DEX тестування
- HTML dashboard генерація: Візуальні звіти
- Historical trends tracking: Збереження історії результатів
- Performance alerting: Автоматичні алерти при degradації
- Real-time monitoring: Live dashboard з метриками
- Fork the repository
- Create feature branch (
git checkout -b feature/new-feature) - Commit changes (
git commit -m 'Add new feature') - Push to branch (
git push origin feature/new-feature) - Create Pull Request
Цей проєкт створено для внутрішнього використання TMB Trading Platform.
💡 Tip: Запускайте тести регулярно для моніторингу якості API та виявлення проблем продуктивності на ранній стадії! CEX endpoints переважно стабільні, DEX endpoints потребують додаткової роботи.