**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)
81 lines
2.5 KiB
Markdown
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
|