1.5 KiB
1.5 KiB
ARCHITECTURE
Contexte
- Service serveur « sdk-signer » pour gérer des messages typés via WebSocket.
- Fournit des opérations de processus, hashing/merkle, gestion de device et validation d’état.
Composants
- src/index.ts: point d’entrée, exporte Service, Server, config, models et utilitaires.
- src/simple-server.ts: serveur WebSocket simple (gestion des connections et du cycle de vie).
- src/service.ts: logique métier des messages et routage par type.
- src/relay-manager.ts: interaction avec le réseau de relais.
- src/database.service.ts: persistance simple pour l’état serveur si nécessaire.
- src/models.ts: énumérations et types de messages, priorités, statuts de livraison.
- src/config.ts: configuration serveur (port, clés, délais, options).
- src/utils.ts, src/wasm_compat.ts: utilitaires globaux et compatibilité WASM si utilisée.
Flux et dépendances
- Client se connecte en WebSocket → message LISTENING → échanges de messages typés corrélés.
- Gestion du messageId pour corrélation, priorités de traitement et statut de livraison.
Données et modèles
- Typage via MessageType et statuts (DeliveryStatus), niveaux de priorité (MessagePriority).
- Dérivation de contrats communs alignés avec le client (sdk_signer_client).
Sécurité
- Clé API côté serveur (vérification attendue au niveau des messages entrants).
- Logs d’erreurs et gestion de timeouts.
Observabilité
- Journalisation des connexions, erreurs, et transitions d’état des processus.