anchorage_layer_simple/docs/COMPATIBILITY_CHECK.md
ncantu 20d115a31c feat: Add APIs, dashboard, documentation and improve scripts
**Motivations:**
- Add API services for anchorage and faucet functionality
- Add dashboard interface for signet monitoring
- Improve documentation and maintenance guides
- Enhance existing scripts for better functionality

**Root causes:**
- Need for API services to interact with Bitcoin Signet
- Need for user-friendly dashboard interface
- Need for comprehensive documentation
- Scripts required improvements for better reliability

**Correctifs:**
- Updated Dockerfile with better configuration
- Improved gen-bitcoind-conf.sh and gen-signet-keys.sh scripts
- Enhanced mine.sh, miner, run.sh, and setup-signet.sh scripts
- Updated env.example with new configuration options

**Evolutions:**
- Added api-anchorage service with anchor functionality
- Added api-faucet service for testnet coin distribution
- Added signet-dashboard for monitoring and management
- Added comprehensive documentation in docs/ directory
- Added configure-nginx-proxy.sh for proxy configuration
- Added update-signet.sh for signet updates
- Added ETAT_SYSTEME.md and START_DASHBOARD_AND_FAUCET.md guides
- Added .bitcoin-version file for version tracking

**Pages affectées:**
- Dockerfile
- env.example
- gen-bitcoind-conf.sh
- gen-signet-keys.sh
- mine.sh
- miner
- run.sh
- setup-signet.sh
- api-anchorage/ (new)
- api-faucet/ (new)
- signet-dashboard/ (new)
- docs/ (new)
- configure-nginx-proxy.sh (new)
- update-signet.sh (new)
- ETAT_SYSTEME.md (new)
- START_DASHBOARD_AND_FAUCET.md (new)
- .bitcoin-version (new)
- .env (modified)
- mempool/ (added)
2026-01-24 02:40:25 +01:00

81 lines
2.5 KiB
Markdown

# Vérification de Compatibilité - SIGNETCHALLENGE et PRIVKEY
**Auteur** : Équipe 4NK
**Date** : 2026-01-23
**Version** : 1.0
## Résumé
Vérification de la compatibilité entre le SIGNETCHALLENGE et la PRIVKEY configurés avant l'utilisation des descriptor wallets avec Bitcoin Core 30.2.
## Résultat
**COMPATIBLE** - Les clés sont compatibles et correctement configurées.
## Détails de la Vérification
### 1. Format SIGNETCHALLENGE
Le SIGNETCHALLENGE a le format : `5121[PUBKEY]51ae`
- **5121** : Préfixe pour script P2PK
- **[PUBKEY]** : Clé publique compressée (66 caractères hex)
- **51ae** : Suffixe OP_CHECKSIG
**Exemple** :
```
SIGNETCHALLENGE: 5121028b8d4cea1b3d8582babc8405bc618fbbb281c0f64e6561aa85968251931cd0a651ae
Clé publique extraite: 028b8d4cea1b3d8582babc8405bc618fbbb281c0f64e6561aa85968251931cd0a6
```
### 2. Correspondance PRIVKEY → PUBKEY
La PRIVKEY doit pouvoir dériver la clé publique qui correspond à celle dans le SIGNETCHALLENGE.
**Vérification** :
```bash
PRIVKEY=$(grep PRIVKEY .env | cut -d'=' -f2)
bitcoin-cli getdescriptorinfo "pk($PRIVKEY)" | jq -r '.descriptor'
# Doit contenir la même clé publique que dans SIGNETCHALLENGE
```
**Résultat** : ✅ La PRIVKEY dérive correctement vers la clé publique du SIGNETCHALLENGE.
### 3. Descriptor Wallet
Le descriptor `pk()` est importé dans le wallet avec :
- `hasprivatekeys: true`
- `issolvable: true`
- `descriptor: pk(028b8d4cea1b3d8582babc8405bc618fbbb281c0f64e6561aa85968251931cd0a6)#...`
## Conclusion
Les clés configurées avant l'utilisation des descriptor wallets sont **compatibles** avec Bitcoin Core 30.2 et les descriptor wallets.
**Pas besoin de redémarrer une nouvelle chaîne.**
Le problème de mining ("PSBT signing failed") vient d'ailleurs, probablement lié à :
- La façon dont Bitcoin Core 30+ gère les descriptors pour signer les transactions signet
- Un problème avec `walletprocesspsbt` et les PSBT spéciaux du signet
- Une limitation ou un bug dans Bitcoin Core 30.2 pour le mining signet avec descriptor wallets
## Commandes de Vérification
```bash
# Vérifier la correspondance
PRIVKEY=$(grep PRIVKEY .env | cut -d'=' -f2)
SIGNETCHALLENGE=$(grep SIGNETCHALLENGE .env | cut -d'=' -f2)
PUBKEY_FROM_CHALLENGE="${SIGNETCHALLENGE:4:66}"
PUBKEY_FROM_PRIVKEY=$(bitcoin-cli getdescriptorinfo "pk($PRIVKEY)" | jq -r '.descriptor' | grep -o "02[0-9a-f]\{64\}")
if [ "$PUBKEY_FROM_CHALLENGE" = "$PUBKEY_FROM_PRIVKEY" ]; then
echo "✅ Compatible"
else
echo "❌ Incompatible"
fi
```
---
**Dernière mise à jour** : 2026-01-23