**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)
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
.envet/root/.bitcoin/PRIVKEY.txt
Pour plus de détails, consultez MAINTENANCE.md.