ncantu e34b6ee43a Fix UTXO selection and race condition in anchorage API
**Motivations:**
- Resolve insufficient UTXO amount errors when wallet has many small UTXOs
- Prevent race conditions when multiple anchor requests arrive simultaneously
- Improve signet dashboard functionality and documentation

**Root causes:**
- API tried to find a single UTXO large enough instead of combining multiple UTXOs
- No mutex mechanism to prevent concurrent transactions from using the same UTXOs
- UTXOs in mempool still appear as available in listunspent before block confirmation

**Correctifs:**
- Implement coin selection algorithm to combine multiple UTXOs when needed
- Add mutex-based locking mechanism to serialize UTXO access
- Filter locked UTXOs during selection to prevent double spending
- Properly handle change output when combining multiple UTXOs
- Lock UTXOs during transaction creation and unlock after mempool broadcast

**Evolutions:**
- Enhance signet dashboard with improved Bitcoin RPC integration
- Update mempool documentation
- Add comprehensive fix documentation in fixKnowledge/

**Pages affectées:**
- api-anchorage/src/bitcoin-rpc.js
- signet-dashboard/src/bitcoin-rpc.js
- signet-dashboard/src/server.js
- signet-dashboard/public/app.js
- signet-dashboard/public/index.html
- signet-dashboard/public/styles.css
- signet-dashboard/start.sh
- docs/MEMPOOL.md
- fixKnowledge/api-anchorage-insufficient-utxo.md (new)
- fixKnowledge/api-anchorage-utxo-race-condition.md (new)
- anchor_count.txt (new)
- mempool (submodule update)
2026-01-25 01:21:18 +01:00
..

Documentation Bitcoin Signet Custom

Ce dossier contient toute la documentation nécessaire pour la maintenance et l'utilisation du Bitcoin Signet custom.

Fichiers de Documentation

  • MAINTENANCE.md : Documentation complète de maintenance

    • Architecture et structure
    • Configuration et variables d'environnement
    • Commandes de maintenance
    • Gestion du conteneur
    • Mining
    • Accès RPC et API
    • Mise à jour
    • Dépannage
    • Sauvegarde et restauration
  • INSTALLATION_NEW_NODE.md : Guide d'installation d'un nouveau nœud

    • Installation initiale
    • Configuration pour rejoindre une chaîne existante
    • Configuration du mining
    • Vérification et dépannage
    • Partage d'informations avec d'autres nœuds
  • INTERFACES.md : Documentation des interfaces disponibles

    • API REST d'ancrage
    • Interface RPC Bitcoin Core
    • Interface ligne de commande (CLI)
    • Interface ZMQ (ZeroMQ)
    • Interface Docker
    • Interface de configuration
    • Interface de logs
  • MEMPOOL.md : Documentation de Mempool (explorateur blockchain)

    • Installation et configuration
    • Architecture et services
    • Utilisation et maintenance
    • Dépannage
    • Intégration avec l'infrastructure

Démarrage Rapide

Installation

cd /home/ncantu/Bureau/code/bitcoin
sudo docker build -t bitcoin-signet .
sudo docker run --env-file .env -d --name bitcoin-signet-instance \
  -p 38332:38332 -p 38333:38333 -p 28332:28332 -p 28333:28333 -p 28334:28334 \
  bitcoin-signet

Vérification

sudo docker exec bitcoin-signet-instance bitcoin-cli -datadir=/root/.bitcoin getblockchaininfo

Logs

sudo docker logs -f bitcoin-signet-instance

Informations Importantes

  • Ports : RPC (38332), P2P (38333), ZMQ (28332-28334)
  • Configuration : Fichier .env à la racine du projet
  • Données : Stockées dans /root/.bitcoin/ dans le conteneur
  • Clés : Générées automatiquement, stockées dans .env et /root/.bitcoin/PRIVKEY.txt

Pour plus de détails, consultez MAINTENANCE.md.