FinTechPerformanceCrypto
CryptoWatch
Terminal de trading haute performance pour les marchés crypto. Agrégation de données multi-exchange avec latence minimale et exécution d'ordres algorithmiques.
Fonctionnalités Clés
- Orderbook temps réel (<10ms)
- Graphiques Canvas optimisés
- Stratégies de trading algo
- Portfolio tracking
Problème
Les terminaux web classiques souffrent de lags lors de pics de volatilité car le thread JS principal est bloqué par le parsing JSON massif des orderbooks.
Solution
Déport du parsing et de l'agrégation des données dans un Worker WebAssembly (écrit en Rust). Le thread UI ne reçoit que les données prêtes à rendre.
src/aggregator.rs
1#[wasm_bindgen]
2pub fn process_orderbook_update(data: &[u8]) -> JsValue {
3 let update: OrderBookUpdate = bincode::deserialize(data).unwrap();
4 let mut book = ORDERBOOK.lock().unwrap();
5
6 book.apply_update(update);
7
8 // Return optimized diff for UI
9 serde_wasm_bindgen::to_value(&book.get_top_levels(50)).unwrap()
10}PROJECT PREVIEW
Stack Technique
Rust (Backend)WebAssemblyReactWebSockets
RoleLead Developer
Timeline4 Weeks
Year2024