# Dashboard - Date et confirmations des frais non à jour **Date:** 2026-01-26 **Auteur:** Équipe 4NK ## Problème Dans la page UTXO list, section "Frais" (#fees), les colonnes "Date" et "Confirmé" ne sont pas à jour. Les confirmations restent figées à leur valeur d'origine et ne reflètent pas l'état actuel de la blockchain. ## Impacts - **Utilisateur:** Les informations affichées sur les frais sont obsolètes - **Fiabilité:** Les confirmations ne reflètent pas l'état réel des transactions - **Expérience utilisateur:** Confusion sur l'état réel des transactions d'ancrage ## Root causes Les frais sont chargés depuis le fichier `fees_list.txt` qui contient des données statiques (confirmations, blockHeight, blockTime). Lors du chargement, ces valeurs sont lues directement depuis le fichier sans être mises à jour en fonction de la hauteur actuelle de la blockchain. **Cause racine:** Les confirmations ne sont pas recalculées lors du chargement des frais depuis le fichier, elles restent à leur valeur d'origine enregistrée dans `fees_list.txt`. ## Correctifs Modification de la méthode `getUtxoList()` dans `signet-dashboard/src/bitcoin-rpc.js` pour : 1. **Récupérer la hauteur actuelle de la blockchain** : Obtenir la hauteur actuelle via `getBlockchainInfo()` avant de charger les frais 2. **Recalculer les confirmations** : Pour chaque frais chargé depuis le fichier, recalculer les confirmations en fonction de la hauteur actuelle : `confirmations = currentHeight - blockHeight + 1` 3. **Gérer les erreurs** : En cas d'erreur lors de la récupération de la hauteur, utiliser la valeur du fichier comme fallback Les modifications ont été appliquées dans deux endroits : - Lors du chargement depuis le cache (quand `needsUpdate` est false) - Lors du chargement après mise à jour complète (quand `needsUpdate` est true) ## Modifications ### Fichiers modifiés - `signet-dashboard/src/bitcoin-rpc.js` : Modification de la méthode `getUtxoList()` pour mettre à jour les confirmations des frais lors du chargement ### Détails techniques - Ajout d'un appel à `getBlockchainInfo()` pour obtenir la hauteur actuelle - Recalcul des confirmations pour chaque frais : `confirmations = Math.max(0, currentHeight - blockHeight + 1)` - Fallback sur la valeur du fichier si la hauteur ne peut pas être obtenue - Le `blockTime` n'a pas besoin d'être mis à jour car il ne change pas une fois qu'une transaction est dans un bloc ## 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, section Frais, et vérifier que les confirmations sont à jour ## Modalités d'analyse ### Vérification du problème 1. **Vérifier les confirmations dans le dashboard** : Comparer avec la hauteur actuelle de la blockchain 2. **Vérifier la hauteur actuelle** : `bitcoin-cli getblockchaininfo | grep blocks` 3. **Vérifier les frais dans le fichier** : `cat fees_list.txt | head -1` pour voir le format ### Commandes de diagnostic ```bash # Vérifier la hauteur actuelle de la blockchain bitcoin-cli getblockchaininfo | grep blocks # Vérifier un frais dans le fichier cat fees_list.txt | head -1 # Calculer les confirmations attendues # Si blockHeight = 1000 et currentHeight = 1500, confirmations = 1500 - 1000 + 1 = 501 # Vérifier les logs du dashboard sudo journalctl -u signet-dashboard | grep -i "fees\|confirmations" ``` ### Indicateurs de succès - Les confirmations dans le tableau des frais correspondent à la hauteur actuelle de la blockchain - Les confirmations se mettent à jour automatiquement lors du chargement de la page - La colonne "Confirmé" affiche correctement ✓ pour les transactions confirmées