ncantu 64cba050a8 Update documentation with new UTXO features
**Motivations:**
- Mettre à jour la documentation pour refléter les nouvelles fonctionnalités UTXO
- Documenter les nouvelles routes API
- Expliquer les fonctionnalités de pagination, tri et consolidation

**Root causes:**
- La documentation n'était pas à jour avec les nouvelles fonctionnalités
- Les nouvelles routes API n'étaient pas documentées
- Les utilisateurs n'étaient pas informés des nouvelles capacités

**Correctifs:**
- Mise à jour de learn.html avec section sur la gestion des UTXOs
- Ajout de la documentation des nouvelles routes API dans api-docs.html
- Mise à jour de docs/DASHBOARD.md avec les nouvelles fonctionnalités

**Evolutions:**
- learn.html : Section sur la gestion des UTXOs (pagination, tri, consolidation, capacité d'ancrage)
- api-docs.html : Documentation des routes :
  - GET /api/utxo/list : Liste des UTXOs avec compteurs
  - GET /api/utxo/small-info : Infos sur les petits UTXOs
  - POST /api/utxo/consolidate : Consolidation des petits UTXOs
  - Documentation de l'erreur "too-long-mempool-chain" (503)
- docs/DASHBOARD.md : Mise à jour de la section UTXO avec pagination, tri, consolidation, capacité d'ancrage restante

**Pages affectées:**
- signet-dashboard/public/learn.html: Section gestion des UTXOs
- signet-dashboard/public/api-docs.html: Documentation des nouvelles routes API et erreur too-long-mempool-chain
- docs/DASHBOARD.md: Mise à jour fonctionnalités UTXO et endpoints
2026-01-25 23:41:33 +01:00

9.2 KiB

Dashboard - Pages et Fonctionnalités

Auteur : Équipe 4NK Date : 2026-01-24 Version : 1.0

Vue d'Ensemble

Le Dashboard Bitcoin Signet est une interface web de supervision et de test accessible à l'adresse https://dashboard.certificator.4nkweb.com.

Port local : 3020 (fixe, défini dans le service systemd)

Pages Disponibles

1. Page Principale (/ ou /index.html)

Fichier : signet-dashboard/public/index.html

Fonctionnalités :

Section Supervision

  • État de la Blockchain

    • Hauteur de bloc (mise à jour automatique)
    • Dernier bloc miné (timestamp)
    • Transactions dans le dernier bloc
    • Taille du dernier bloc
    • Hash du dernier bloc
    • Difficulté de mining
    • Taux de hash moyen
  • Statistiques du Réseau

    • Nombre de pairs connectés
    • Taille totale de la blockchain
    • Taux de transactions par seconde
    • Frais moyens des transactions
    • Montant moyen des transactions
  • État du Wallet

    • Solde mature
    • Solde immature
    • Solde non confirmé
    • Solde total
    • Nombre d'UTXO
  • Statistiques d'Ancrage

    • Nombre total d'ancrages
    • Capacité d'ancrage restante : Nombre d'ancrages possibles avec les UTXOs disponibles
      • Affiche le nombre total d'ancrages possibles
      • Affiche le nombre d'UTXOs confirmés disponibles (sous-titre)

Section Test de l'API d'Ancrage

  • Saisie de Texte

    • Champ texte pour saisir du contenu
    • Génération automatique du hash SHA256
    • Vérification du hash sur la blockchain
    • Ancrage du document
  • Sélection de Fichier

    • Upload de fichier
    • Génération automatique du hash SHA256
    • Vérification du hash sur la blockchain
    • Ancrage du document
  • Options de Filigrane

    • Activation/désactivation du filigrane
    • Texte libre du filigrane
    • Signature cryptographique
    • Nom du dépositaire
    • Options de date (UTC, locale)
    • Options blockchain (numéro de bloc, hash du bloc, hash du document)
    • Noms de fichiers personnalisables
  • Résultats

    • Affichage des hash (original et filigrané)
    • Liens cliquables vers mempool.4nkweb.com pour les TXID
    • Statut des transactions
    • Confirmations
    • Téléchargement automatique des fichiers :
      1. Document original
      2. Document filigrané
      3. Certificat PDF
      4. Document fusionné (filigrané + certificat)

Section Faucet

  • Demande de Sats
    • Champ pour saisir une adresse Bitcoin Signet
    • Distribution de 50 000 sats (0.0005 BTC)
    • Affichage du TXID et du statut

2. Page Liste des Hash (/hash-list)

Fichier : signet-dashboard/public/hash-list.html

Fonctionnalités :

  • Liste de tous les hash ancrés sur la blockchain
  • Informations pour chaque hash :
    • Hash SHA256
    • TXID de la transaction
    • Hauteur de bloc
    • Nombre de confirmations
    • Timestamp
    • Liens vers mempool.4nkweb.com
  • Recherche et filtrage
  • Pagination

3. Page Liste des UTXO (/utxo-list)

Fichier : signet-dashboard/public/utxo-list.html

Fonctionnalités :

  • Liste de tous les UTXO du wallet, catégorisés par type :
    • 💰 Bloc Rewards (récompenses de minage)
    • 🔗 Ancrages (transactions d'ancrage, 2500 sats chacun)
    • 🔄 Changes (monnaie de retour)
    • 💸 Frais (transactions avec frais onchain)
  • Informations pour chaque UTXO :
    • TXID (lien vers mempool.4nkweb.com)
    • Index de sortie (vout)
    • Montant (en BTC et sats)
    • Adresse
    • Confirmations
    • Statut (Disponible, Verrouillé, Dépensé onchain)
  • Pagination : 100 UTXOs par page avec contrôles précédent/suivant
  • Tri : Tri par montant ou confirmations (croissant/décroissant) en cliquant sur les en-têtes
  • Capacité d'ancrage restante : Affiche le nombre d'ancrages possibles et le nombre d'UTXOs confirmés disponibles
  • Consolidation : Bouton pour consolider les petits UTXOs (< 2500 sats) en un gros UTXO
    • Affiche dynamiquement le nombre d'UTXOs et le montant total concernés
    • Désactivé si aucun UTXO à consolider
  • Filtrage confirmés : Seuls les UTXOs avec au moins 1 confirmation sont affichés (pour éviter les erreurs "too-long-mempool-chain")
  • Export des données (fichier texte téléchargeable)

4. Page Rejoindre le Réseau (/join-signet)

Fichier : signet-dashboard/public/join-signet.html

Fonctionnalités :

  • Instructions pour rejoindre le réseau Signet
  • Informations de connexion :
    • Adresse IP du nœud
    • Port P2P (38333)
    • Challenge du signet
    • Magic number
  • Commandes pour configurer un nouveau nœud
  • Liens vers la documentation

5. Page Documentation API (/api-docs)

Fichier : signet-dashboard/public/api-docs.html

Fonctionnalités :

  • Documentation complète de toutes les APIs
  • Endpoints documentés :
    • API d'Ancrage (/api/anchor/document, /api/anchor/verify)
    • API Faucet (/api/faucet/request)
    • API Filigrane (/api/watermark/document)
    • API ClamAV (/api/scan/buffer)
  • Exemples de requêtes curl
  • Codes de statut HTTP
  • Authentification et clés API
  • Format des réponses

6. Page Apprendre Bitcoin (/learn)

Fichier : signet-dashboard/public/learn.html

Fonctionnalités :

  • Ressources éducatives sur Bitcoin
  • Concepts de base :
    • Blockchain
    • Transactions
    • Mining
    • Wallets
    • Signet vs Testnet
  • Liens vers des ressources externes
  • Glossaire des termes

Navigation

Menu Principal

Le menu principal est accessible depuis toutes les pages :

  • Dashboard : Retour à la page principale
  • Explorer Mempool : Lien vers mempool.4nkweb.com
  • Liste des Hash : Page de liste des hash
  • Liste des UTXO : Page de liste des UTXO
  • Rejoindre le Réseau : Instructions pour rejoindre
  • Documentation API : Documentation complète
  • Apprendre Bitcoin : Ressources éducatives

Mise à Jour Automatique

Rafraîchissement des Données

  • Métriques principales : Toutes les 30 secondes
  • Détection de nouveaux blocs : Polling toutes les 5 secondes
  • Actualisation des métriques : Automatique lors de la détection d'un nouveau bloc

Notifications

  • Affichage des résultats d'ancrage en temps réel
  • Messages d'erreur clairs et détaillés
  • Indicateurs de chargement pour les opérations asynchrones

Fonctionnalités Avancées

Test de l'API d'Ancrage avec Filigrane

  1. Saisie ou Upload

    • Texte ou fichier
    • Génération automatique du hash
  2. Configuration du Filigrane

    • Options personnalisables
    • Avertissement de sécurité affiché
  3. Traitement

    • Scan antivirus automatique (ClamAV)
    • Conversion en PDF si nécessaire
    • Ajout du filigrane
    • Ancrage sur la blockchain (2 transactions : original + filigrané)
    • Génération du certificat PDF
    • Fusion du PDF filigrané et du certificat
  4. Résultats

    • Affichage des hash et TXID avec liens
    • Téléchargement automatique de 4 fichiers PDF
    • Résultat du scan antivirus inclus

Intégration avec Mempool

  • Liens cliquables vers mempool.4nkweb.com pour chaque TXID
  • Liens également présents dans les PDFs de certificat

API Endpoints Utilisés

Le dashboard utilise les endpoints suivants :

Endpoints Internes

  • GET /api/blockchain/info : Informations sur la blockchain
  • GET /api/blockchain/latest-block : Dernier bloc miné
  • GET /api/wallet/balance : Solde du wallet
  • GET /api/utxo/list : Liste des UTXO (catégorisés par type)
    • Retourne : blocRewards, anchors, changes, fees
    • Compteurs : total, availableForAnchor, confirmedAvailableForAnchor
  • GET /api/utxo/small-info : Informations sur les petits UTXOs (< 2500 sats) disponibles pour consolidation
  • POST /api/utxo/consolidate : Consolide les petits UTXOs en un gros UTXO
  • GET /api/network/peers : Nombre de pairs
  • GET /api/anchor/count : Nombre d'ancrages
  • GET /api/hash/list : Liste des hash ancrés
  • POST /api/anchor/test : Test d'ancrage (via le dashboard)
  • POST /api/watermark/document : Ancrage avec filigrane (via le dashboard)

Endpoints Externes

  • https://certificator.4nkweb.com/api/anchor/document : API d'ancrage
  • https://watermark.certificator.4nkweb.com/api/watermark/document : API filigrane
  • https://faucet.certificator.4nkweb.com/api/faucet/request : API faucet
  • https://mempool.4nkweb.com/fr/tx/{txid} : Explorateur de transactions

Styles et Thème

Fichier CSS : signet-dashboard/public/styles.css

  • Design moderne et responsive
  • Thème sombre/clair selon les préférences
  • Couleurs cohérentes avec l'identité visuelle
  • Accessibilité (ARIA, clavier, contraste)

JavaScript

Fichier principal : signet-dashboard/public/app.js

  • Gestion de toutes les interactions
  • Appels API asynchrones
  • Mise à jour automatique des données
  • Gestion des erreurs
  • Téléchargement de fichiers

Maintenance

Vérifier que le dashboard fonctionne

# Vérifier le service
sudo systemctl status signet-dashboard

# Vérifier les logs
sudo journalctl -u signet-dashboard -f

# Tester l'accès
curl http://localhost:3020/health

Redémarrer le dashboard

sudo systemctl restart signet-dashboard

Références