# Dashboard - Frais non affichés après mise à jour **Date:** 2026-01-26 **Auteur:** Équipe 4NK ## Problème Après la mise à jour des frais via le bouton "Récupérer les frais depuis les ancrages", le message indique un total de frais (ex: 2667) mais aucune ligne n'apparaît dans le tableau des frais. Le problème se produit même si des frais existent dans `fees_list.txt`. ## Impacts - **Utilisateur:** Les frais ne sont pas visibles dans le tableau après la mise à jour - **Fiabilité:** Les données existent mais ne sont pas affichées - **Expérience utilisateur:** Confusion car le total indique des frais mais le tableau est vide ## Root causes 1. **Chargement depuis le fichier texte** : La fonction `loadUtxoList()` charge uniquement depuis `/api/utxo/list.txt` qui ne contient que les UTXOs (bloc_rewards, ancrages, changes), pas les frais. Les frais sont dans un fichier séparé `fees_list.txt`. 2. **Rechargement incorrect après mise à jour** : Après la mise à jour des frais, la fonction `updateFeesFromAnchors()` appelait `loadUtxoList()` qui charge depuis le fichier texte sans les frais, au lieu de `loadUtxoListFromRPC()` qui charge depuis l'endpoint RPC incluant les frais. 3. **Absence d'endpoint dédié** : Il n'existait pas d'endpoint pour charger uniquement les frais depuis `fees_list.txt` lors du chargement depuis le fichier. **Cause racine:** Les frais sont stockés dans un fichier séparé (`fees_list.txt`) et ne sont pas inclus dans `utxo_list.txt`, mais le chargement depuis le fichier ne chargeait pas les frais séparément. ## Correctifs 1. **Création d'un endpoint dédié** : Ajout de `/api/utxo/fees` dans `signet-dashboard/src/server.js` pour charger les frais depuis `fees_list.txt` avec les confirmations mises à jour. 2. **Modification de `loadUtxoList()`** : Ajout d'un appel à `/api/utxo/fees` après le chargement des UTXOs depuis le fichier texte pour charger les frais séparément. 3. **Modification de `updateFeesFromAnchors()`** : Changement de `loadUtxoList()` vers `loadUtxoListFromRPC()` après la mise à jour des frais pour s'assurer que les frais sont affichés. ## Modifications ### Fichiers modifiés - `signet-dashboard/src/server.js` : Ajout de l'endpoint `/api/utxo/fees` - `signet-dashboard/public/utxo-list.html` : - Modification de `loadUtxoList()` pour charger les frais séparément - Modification de `updateFeesFromAnchors()` pour recharger avec `loadUtxoListFromRPC()` ### Détails techniques - **Nouvel endpoint** : `/api/utxo/fees` appelle `bitcoinRPC.getUtxoList()` qui charge les frais depuis `fees_list.txt` avec les confirmations mises à jour - **Chargement asynchrone** : Les frais sont chargés en parallèle après le chargement des UTXOs depuis le fichier - **Gestion des erreurs** : En cas d'erreur lors du chargement des frais, l'affichage continue avec les UTXOs chargés ## 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 à la page UTXO list - Cliquer sur "Actualisation Rapide" et vérifier que les frais s'affichent - Cliquer sur "Récupérer les frais depuis les ancrages" et vérifier que les frais s'affichent après la mise à jour ## Modalités d'analyse ### Vérification du problème 1. **Vérifier les frais dans le fichier** : `cat fees_list.txt | wc -l` pour compter le nombre de frais 2. **Vérifier l'endpoint** : `curl http://localhost:3020/api/utxo/fees` pour voir si les frais sont retournés 3. **Vérifier les logs** : Chercher les erreurs lors du chargement des frais ### Commandes de diagnostic ```bash # Vérifier le nombre de frais dans le fichier cat fees_list.txt | wc -l # Tester l'endpoint des frais curl http://localhost:3020/api/utxo/fees | jq '.count' # Vérifier les logs du dashboard sudo journalctl -u signet-dashboard | grep -i "fees\|error" ``` ### Indicateurs de succès - Les frais s'affichent dans le tableau même lors du chargement depuis le fichier ("Actualisation Rapide") - Les frais s'affichent correctement après la mise à jour via "Récupérer les frais depuis les ancrages" - Le nombre de frais dans le tableau correspond au nombre dans `fees_list.txt` - Les confirmations des frais sont à jour