**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)
106 lines
4.5 KiB
HTML
106 lines
4.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Bitcoin Signet - Dashboard de Supervision</title>
|
|
<link rel="stylesheet" href="styles.css">
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<header>
|
|
<h1>Bitcoin Signet - Dashboard de Supervision</h1>
|
|
<p class="subtitle">Surveillance de la blockchain et outils de test</p>
|
|
</header>
|
|
|
|
<main>
|
|
<!-- Section Supervision -->
|
|
<section class="supervision-section">
|
|
<h2>État de la Blockchain</h2>
|
|
<div class="grid">
|
|
<div class="card">
|
|
<h3>Hauteur de Bloc</h3>
|
|
<p class="value" id="block-height">-</p>
|
|
</div>
|
|
<div class="card">
|
|
<h3>Dernier Bloc Miné</h3>
|
|
<p class="value" id="last-block-time">-</p>
|
|
</div>
|
|
<div class="card">
|
|
<h3>Transactions dans le Dernier Bloc</h3>
|
|
<p class="value" id="last-block-tx-count">-</p>
|
|
</div>
|
|
<div class="card">
|
|
<h3>Balance Mature</h3>
|
|
<p class="value" id="balance-mature">-</p>
|
|
</div>
|
|
<div class="card">
|
|
<h3>Balance Immature</h3>
|
|
<p class="value" id="balance-immature">-</p>
|
|
</div>
|
|
<div class="card">
|
|
<h3>Nombre d'Ancrages</h3>
|
|
<p class="value" id="anchor-count">-</p>
|
|
</div>
|
|
<div class="card">
|
|
<h3>Nombre de Pairs</h3>
|
|
<p class="value" id="peer-count">-</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Section Test d'Ancrage -->
|
|
<section class="anchor-section">
|
|
<h2>Test de l'API d'Ancrage</h2>
|
|
<div class="card">
|
|
<div class="tabs">
|
|
<button class="tab-button active" onclick="switchTab('text', this)">Saisie de Texte</button>
|
|
<button class="tab-button" onclick="switchTab('file', this)">Sélection de Fichier</button>
|
|
</div>
|
|
|
|
<div id="text-tab" class="tab-content active">
|
|
<label for="anchor-text">Texte à ancrer :</label>
|
|
<textarea id="anchor-text" rows="5" placeholder="Entrez le texte à ancrer..."></textarea>
|
|
<button onclick="generateHashFromText()">Générer le Hash</button>
|
|
</div>
|
|
|
|
<div id="file-tab" class="tab-content">
|
|
<label for="anchor-file">Fichier à ancrer :</label>
|
|
<input type="file" id="anchor-file" onchange="handleFileSelect(event)">
|
|
<div id="file-info" class="file-info"></div>
|
|
<button onclick="generateHashFromFile()">Générer le Hash</button>
|
|
</div>
|
|
|
|
<div class="hash-section">
|
|
<label for="anchor-hash">Hash SHA256 :</label>
|
|
<input type="text" id="anchor-hash" placeholder="Le hash sera généré automatiquement..." readonly>
|
|
<button onclick="anchorDocument()">Ancrer le Document</button>
|
|
</div>
|
|
|
|
<div id="anchor-result" class="result"></div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Section Faucet -->
|
|
<section class="faucet-section">
|
|
<h2>Faucet Bitcoin Signet</h2>
|
|
<div class="card">
|
|
<p>Recevez 50 000 sats (0.0005 BTC) sur votre adresse Bitcoin Signet</p>
|
|
<label for="faucet-address">Adresse Bitcoin :</label>
|
|
<input type="text" id="faucet-address" placeholder="tb1q..." pattern="^(tb1|bcrt1|2|3)[a-zA-HJ-NP-Z0-9]{25,62}$">
|
|
<button onclick="requestFaucet()">Demander des Sats</button>
|
|
<div id="faucet-result" class="result"></div>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
|
|
<footer>
|
|
<p>Bitcoin Signet Dashboard - Équipe 4NK</p>
|
|
<p>Dernière mise à jour : <span id="last-update">-</span></p>
|
|
</footer>
|
|
</div>
|
|
|
|
<script src="app.js"></script>
|
|
</body>
|
|
</html>
|