**Motivations:** - La page home rame et ne s'affiche pas - Les requêtes API timeout, la page reste blanche **Root causes:** - initializeFiles() au démarrage appelle getHashList() et getUtxoList() - Cache UTXO obsolète force une mise à jour complète (37k+ UTXOs) - Ces opérations bloquent la boucle d'événements Node.js **Correctifs:** - Suppression de l'initialisation au démarrage (initializeFiles) - Suppression de la fonction initializeFiles (code mort) - Mise à jour des fichiers à la demande via /api/hash/list et /api/utxo/list **Evolutions:** - Le serveur répond immédiatement au démarrage - La home s'affiche correctement **Pages affectées:** - signet-dashboard/src/server.js - fixKnowledge/dashboard-home-blocked-by-startup-init.md
2.3 KiB
2.3 KiB
Page home bloquée par l'initialisation au démarrage
Auteur : Équipe 4NK
Date : 2026-01-26
Version : 1.0
Problème
La page home rame et ne s'affiche pas. Les requêtes API (blockchain/info, utxo/count, anchor/count, etc.) timeout.
Symptômes
- La page home ne se charge pas ou reste blanche
- Erreurs "Failed to fetch" dans la console
- Les appels
curlvers les APIs timeout (10s+)
Root causes
- Initialisation au démarrage : Le serveur appelle
initializeFiles()au démarrage, qui exécutegetHashList()etgetUtxoList()en parallèle. - Cache UTXO obsolète : Si
utxo_list_cache.txta l'ancien format (1 partie au lieu de 2), une mise à jour complète est déclenchée (37k+ UTXOs). - Blocage du serveur : Ces opérations (lectures/écritures sync, nombreux appels RPC) saturent la boucle d’événements Node.js. Le serveur ne peut plus traiter les requêtes HTTP.
Correctifs
- Suppression de l’initialisation au démarrage : Ne plus appeler
initializeFiles()au démarrage du serveur. - Suppression de la fonction
initializeFiles: Code mort supprimé. - Mise à jour à la demande : Les fichiers sont mis à jour lors des appels à
/api/hash/listet/api/utxo/list(pages Liste des Hash, Liste des UTXO).
Impact
- La home utilise
/api/blockchain/info,/api/anchor/count,/api/utxo/count, etc., qui lisent les fichiers existants ou font des appels RPC légers. Aucune mise à jour complète n’est déclenchée au chargement de la home. - Les pages Liste des Hash et Liste des UTXO peuvent être lentes au premier chargement (mise à jour des fichiers), mais le serveur reste réactif pour les autres requêtes.
Modalités de déploiement
- Redémarrer le service :
sudo systemctl restart signet-dashboard.service - Vérifier que les APIs répondent :
curl -s -o /dev/null -w "%{http_code}\n" http://localhost:3020/api/blockchain/info(attendu : 200)
Modalités d'analyse
- Vérifier les logs :
sudo journalctl -u signet-dashboard.service -f - Tester les APIs :
curl http://localhost:3020/api/blockchain/info,curl http://localhost:3020/api/utxo/count,curl http://localhost:3020/api/anchor/count
Pages affectées
signet-dashboard/src/server.js: suppression deinitializeFileset de son appel au démarrage