**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)
4.3 KiB
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
-
Chargement depuis le fichier texte : La fonction
loadUtxoList()charge uniquement depuis/api/utxo/list.txtqui ne contient que les UTXOs (bloc_rewards, ancrages, changes), pas les frais. Les frais sont dans un fichier séparéfees_list.txt. -
Rechargement incorrect après mise à jour : Après la mise à jour des frais, la fonction
updateFeesFromAnchors()appelaitloadUtxoList()qui charge depuis le fichier texte sans les frais, au lieu deloadUtxoListFromRPC()qui charge depuis l'endpoint RPC incluant les frais. -
Absence d'endpoint dédié : Il n'existait pas d'endpoint pour charger uniquement les frais depuis
fees_list.txtlors 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
-
Création d'un endpoint dédié : Ajout de
/api/utxo/feesdanssignet-dashboard/src/server.jspour charger les frais depuisfees_list.txtavec les confirmations mises à jour. -
Modification de
loadUtxoList(): Ajout d'un appel à/api/utxo/feesaprès le chargement des UTXOs depuis le fichier texte pour charger les frais séparément. -
Modification de
updateFeesFromAnchors(): Changement deloadUtxoList()versloadUtxoListFromRPC()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/feessignet-dashboard/public/utxo-list.html:- Modification de
loadUtxoList()pour charger les frais séparément - Modification de
updateFeesFromAnchors()pour recharger avecloadUtxoListFromRPC()
- Modification de
Détails techniques
- Nouvel endpoint :
/api/utxo/feesappellebitcoinRPC.getUtxoList()qui charge les frais depuisfees_list.txtavec 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
-
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
- 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
- Vérifier les frais dans le fichier :
cat fees_list.txt | wc -lpour compter le nombre de frais - Vérifier l'endpoint :
curl http://localhost:3020/api/utxo/feespour voir si les frais sont retournés - Vérifier les logs : Chercher les erreurs lors du chargement des frais
Commandes de diagnostic
# 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