**Motivations:** - Ensure all application directories have systemd services enabled at boot - Complete service installation for api-relay, filigrane-api, and clamav-api - Fix dependencies and import issues preventing clamav-api from starting **Root causes:** - Three services (api-relay, filigrane-api, clamav-api) had service files but were not installed in systemd - api-clamav had incorrect node-clamav version (0.12.1) that doesn't exist - api-clamav dependencies were not installed (node_modules missing) - ES module import syntax incompatible with CommonJS node-clamav package **Correctifs:** - Installed api-relay.service, filigrane-api.service, and clamav-api.service in /etc/systemd/system/ - Enabled all three services for automatic startup at boot - Updated api-clamav/package.json: changed node-clamav version from ^0.12.1 to ^1.0.11 - Installed npm dependencies for api-clamav - Fixed ES module import in api-clamav/src/routes/scan.js to use CommonJS-compatible syntax **Evolutions:** - All 7 application services now have systemd services enabled at boot - Complete service coverage: anchorage-api, faucet-api, signet-dashboard, userwallet, api-relay, filigrane-api, clamav-api - All services verified active and listening on their respective ports **Pages affectées:** - api-clamav/package.json - api-clamav/src/routes/scan.js - api-clamav/node_modules/ (new) - api-clamav/package-lock.json (new) - /etc/systemd/system/api-relay.service (new) - /etc/systemd/system/filigrane-api.service (new) - /etc/systemd/system/clamav-api.service (new)
3.9 KiB
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 :
- Récupérer la hauteur actuelle de la blockchain : Obtenir la hauteur actuelle via
getBlockchainInfo()avant de charger les frais - Recalculer les confirmations : Pour chaque frais chargé depuis le fichier, recalculer les confirmations en fonction de la hauteur actuelle :
confirmations = currentHeight - blockHeight + 1 - 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
needsUpdateest false) - Lors du chargement après mise à jour complète (quand
needsUpdateest true)
Modifications
Fichiers modifiés
signet-dashboard/src/bitcoin-rpc.js: Modification de la méthodegetUtxoList()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
blockTimen'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
-
Redémarrer le service dashboard :
sudo systemctl restart signet-dashboard -
Vérifier les logs pour s'assurer qu'il n'y a pas d'erreurs :
sudo journalctl -u signet-dashboard -f -
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
- Vérifier les confirmations dans le dashboard : Comparer avec la hauteur actuelle de la blockchain
- Vérifier la hauteur actuelle :
bitcoin-cli getblockchaininfo | grep blocks - Vérifier les frais dans le fichier :
cat fees_list.txt | head -1pour voir le format
Commandes de diagnostic
# 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