# Dashboard - Nombre d'ancrage non à jour **Date:** 2026-01-26 **Auteur:** Équipe 4NK ## Problème Le nombre d'ancrage affiché dans le dashboard ne se mettait pas à jour automatiquement. Le compteur restait figé même après la création de nouveaux ancrages. ## Impacts - **Utilisateur:** Le nombre d'ancrage affiché dans le dashboard ne reflète pas la réalité - **Fiabilité:** Les statistiques affichées sont obsolètes et peuvent induire en erreur - **Expérience utilisateur:** Confusion sur l'état réel du système d'ancrage ## Root causes La méthode `getAnchorCount()` dans `bitcoin-rpc.js` lisait directement le fichier `hash_list.txt` sans vérifier s'il était à jour. Le fichier `hash_list.txt` n'est mis à jour que lorsque `getHashList()` est appelée, ce qui n'arrive que lors de l'accès à l'endpoint `/api/hash/list`. Le dashboard appelle uniquement `/api/anchor/count` qui utilise `getAnchorCount()`, sans déclencher la mise à jour du fichier. **Cause racine:** `getAnchorCount()` ne vérifiait pas la présence de nouveaux blocs avant de compter les ancrages depuis le fichier. ## Correctifs Modification de la méthode `getAnchorCount()` dans `signet-dashboard/src/bitcoin-rpc.js` pour : 1. **Vérifier la présence de nouveaux blocs** : Comparer la hauteur du cache (`hash_list_cache.txt`) avec la hauteur actuelle de la blockchain 2. **Mettre à jour le fichier si nécessaire** : Appeler `getHashList()` pour mettre à jour `hash_list.txt` avant de compter si de nouveaux blocs sont détectés 3. **Gérer les erreurs** : En cas d'erreur lors de la vérification ou de la mise à jour, continuer avec le fichier existant pour éviter de bloquer l'affichage La méthode vérifie maintenant rapidement s'il y a de nouveaux blocs à traiter et met à jour le fichier `hash_list.txt` de manière synchrone avant de compter les ancrages, garantissant que le nombre affiché est toujours à jour. ## Modifications ### Fichiers modifiés - `signet-dashboard/src/bitcoin-rpc.js` : Modification de la méthode `getAnchorCount()` pour vérifier et mettre à jour `hash_list.txt` si nécessaire ### Détails techniques - Ajout d'une vérification de la hauteur de bloc via `getBlockchainInfo()` - Comparaison avec le cache `hash_list_cache.txt` pour détecter de nouveaux blocs - Appel conditionnel à `getHashList()` pour mettre à jour le fichier avant le comptage - Gestion des erreurs pour éviter de bloquer l'affichage en cas de problème ## Modalités de déploiement 1. **Redémarrer le service dashboard** : ```bash sudo systemctl restart signet-dashboard ``` 2. **Vérifier les logs** pour s'assurer qu'il n'y a pas d'erreurs : ```bash sudo journalctl -u signet-dashboard -f ``` 3. **Tester le dashboard** : Accéder au dashboard et vérifier que le nombre d'ancrage se met à jour correctement après la création d'un nouvel ancrage ## Modalités d'analyse ### Vérification du problème 1. **Vérifier le nombre d'ancrage dans le dashboard** : Comparer avec le nombre réel d'ancrages dans `hash_list.txt` 2. **Vérifier la hauteur du cache** : Comparer la hauteur dans `hash_list_cache.txt` avec la hauteur actuelle de la blockchain 3. **Vérifier les logs** : Chercher les messages de debug concernant la mise à jour de la liste de hash ### Commandes de diagnostic ```bash # Vérifier le nombre d'ancrages dans le fichier wc -l hash_list.txt # Vérifier la hauteur du cache cat hash_list_cache.txt # Vérifier la hauteur actuelle de la blockchain bitcoin-cli getblockchaininfo | grep blocks # Vérifier les logs du dashboard sudo journalctl -u signet-dashboard | grep -i "anchor count\|hash list" ``` ### Indicateurs de succès - Le nombre d'ancrage dans le dashboard correspond au nombre de lignes dans `hash_list.txt` - Le nombre se met à jour automatiquement après la création d'un nouvel ancrage - Les logs montrent des messages de debug indiquant la mise à jour de la liste de hash avant le comptage