diff --git a/docs/DASHBOARD.md b/docs/DASHBOARD.md index 27d731d..32b4f8f 100644 --- a/docs/DASHBOARD.md +++ b/docs/DASHBOARD.md @@ -44,9 +44,9 @@ Le Dashboard Bitcoin Signet est une interface web de supervision et de test acce - **Statistiques d'Ancrage** - Nombre total d'ancrages - - Nombre d'ancrages aujourd'hui - - Nombre d'ancrages cette semaine - - Nombre d'ancrages ce mois + - **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** @@ -108,16 +108,26 @@ Le Dashboard Bitcoin Signet est une interface web de supervision et de test acce **Fichier :** `signet-dashboard/public/utxo-list.html` **Fonctionnalités :** -- Liste de tous les UTXO du wallet +- 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 + - TXID (lien vers mempool.4nkweb.com) - Index de sortie (vout) - - Montant + - Montant (en BTC et sats) - Adresse - Confirmations - - Type de script -- Filtrage par montant, confirmations, etc. -- Export des données + - 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`) @@ -231,7 +241,11 @@ Le dashboard utilise les endpoints suivants : - `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/wallet/utxos` : Liste des UTXO +- `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 diff --git a/signet-dashboard/public/api-docs.html b/signet-dashboard/public/api-docs.html index 663e1d9..8d1857d 100644 --- a/signet-dashboard/public/api-docs.html +++ b/signet-dashboard/public/api-docs.html @@ -373,6 +373,7 @@
  • 400 Requête invalide - Hash manquant ou format incorrect
  • 401 Non autorisé - Clé API manquante ou invalide
  • 402 Solde insuffisant - Pas assez de fonds pour créer la transaction
  • +
  • 503 Service indisponible - Erreur "too-long-mempool-chain" (trop d'ancêtres non confirmés)
  • 500 Erreur serveur - Erreur interne lors de la création de la transaction
  • @@ -386,6 +387,28 @@ } + +
    +

    Exemple d'erreur (503 Service Unavailable) - Too Long Mempool Chain

    +
    +
    {
    +  "error": "Service Unavailable",
    +  "message": "too-long-mempool-chain, too many unconfirmed ancestors [limit: 25]"
    +}
    +
    +

    Cette erreur se produit lorsque l'API tente d'utiliser un UTXO non confirmé qui a trop d'ancêtres non confirmés dans le mempool. Bitcoin Core limite la chaîne d'ancêtres à 25 transactions pour éviter les attaques par spam.

    +

    Solution : L'API utilise maintenant uniquement des UTXOs confirmés (au moins 1 confirmation) pour éviter cette erreur. Attendez qu'un bloc soit miné pour que les UTXOs soient confirmés.

    +
    + +
    +

    ℹ️ Gestion des UTXOs

    + +
    @@ -970,6 +993,170 @@ + +
    +
    +
    + GET + /api/utxo/list +
    + +
    +

    Obtient la liste complète des UTXOs du wallet, catégorisés par type (bloc rewards, ancrages, changes, frais).

    +

    Base URL : https://dashboard.certificator.4nkweb.com

    +
    + +
    +

    Exemple de requête

    +
    +
    curl -X GET https://dashboard.certificator.4nkweb.com/api/utxo/list
    +
    + +
    + +
    +

    Réponse (200 OK)

    +
    +
    {
    +  "blocRewards": [...],
    +  "anchors": [...],
    +  "changes": [...],
    +  "fees": [...],
    +  "counts": {
    +    "blocRewards": 10,
    +    "anchors": 150,
    +    "changes": 25,
    +    "fees": 5,
    +    "total": 190,
    +    "availableForAnchor": 180,
    +    "confirmedAvailableForAnchor": 175
    +  }
    +}
    +
    +
    + +
    +

    ℹ️ Notes importantes

    +
      +
    • Seuls les UTXOs avec au moins 1 confirmation sont retournés (pour éviter les erreurs "too-long-mempool-chain")
    • +
    • availableForAnchor : Nombre d'UTXOs disponibles pour l'ancrage (> 2000 sats, non dépensés, non verrouillés)
    • +
    • confirmedAvailableForAnchor : Nombre d'UTXOs confirmés disponibles pour l'ancrage
    • +
    • Les UTXOs sont triés par montant décroissant par défaut
    • +
    +
    +
    +
    + + +
    +
    +
    + GET + /api/utxo/small-info +
    + +
    +

    Obtient les informations sur les UTXOs de moins de 2500 sats disponibles pour consolidation (nombre et montant total).

    +

    Base URL : https://dashboard.certificator.4nkweb.com

    +
    + +
    +

    Exemple de requête

    +
    +
    curl -X GET https://dashboard.certificator.4nkweb.com/api/utxo/small-info
    +
    + +
    + +
    +

    Réponse (200 OK)

    +
    +
    {
    +  "count": 45,
    +  "totalAmount": 0.0001125,
    +  "totalSats": 11250
    +}
    +
    +
    + +
    +

    ℹ️ Notes importantes

    +
      +
    • Seuls les UTXOs confirmés (< 2500 sats, non dépensés, non verrouillés) sont comptés
    • +
    • count : Nombre d'UTXOs disponibles pour consolidation
    • +
    • totalAmount : Montant total en BTC
    • +
    • totalSats : Montant total en satoshis
    • +
    +
    +
    +
    + + +
    +
    +
    + POST + /api/utxo/consolidate +
    + +
    +

    Consolide tous les UTXOs de moins de 2500 sats en un seul gros UTXO. Cette opération optimise le wallet en réduisant le nombre de petits UTXOs.

    +

    Base URL : https://dashboard.certificator.4nkweb.com

    +
    + +
    +

    Exemple de requête

    +
    +
    curl -X POST https://dashboard.certificator.4nkweb.com/api/utxo/consolidate
    +
    + +
    + +
    +

    Réponse (200 OK) - Succès

    +
    +
    {
    +  "success": true,
    +  "txid": "a1b2c3d4e5f6...",
    +  "inputCount": 45,
    +  "totalInputAmount": 0.0001125,
    +  "changeAmount": 0.0001025,
    +  "estimatedFee": 0.00001
    +}
    +
    +
    + +
    +

    Réponse (500) - Erreur

    +
    +
    {
    +  "success": false,
    +  "error": "No small UTXOs available for consolidation"
    +}
    +
    +
    + +
    +

    Codes de statut possibles

    +
      +
    • 200 Succès - Consolidation effectuée
    • +
    • 500 Erreur - Aucun UTXO disponible ou erreur lors de la consolidation
    • +
    +
    + +
    +

    ℹ️ Notes importantes

    +
      +
    • Seuls les UTXOs confirmés de moins de 2500 sats sont consolidés
    • +
    • Les UTXOs verrouillés ou déjà dépensés sont exclus
    • +
    • La transaction est envoyée au mempool immédiatement
    • +
    • Le montant consolidé est retourné comme change (moins les frais estimés)
    • +
    • Cette opération optimise le wallet en réduisant le nombre de petits UTXOs
    • +
    +
    +
    +
    +
    @@ -1034,8 +1221,8 @@ API ClamAV : https://antivir.certificator.4nkweb.com

    Bitcoin Ancrage Dashboard - Équipe 4NK

    - - + +
    diff --git a/signet-dashboard/public/learn.html b/signet-dashboard/public/learn.html index 93690a0..31c9265 100644 --- a/signet-dashboard/public/learn.html +++ b/signet-dashboard/public/learn.html @@ -648,6 +648,28 @@ Change renvoyé: 38 800 sats
    +

    Gestion des UTXOs dans le Dashboard

    +
    +

    Le dashboard offre plusieurs fonctionnalités pour gérer et visualiser les UTXOs :

    + +
    + +
    +

    Types de UTXOs dans le Wallet

    + +
    +