ncantu f9fe0e3419 Website-skeleton partie connectée, contrat en dur, navigate-login; UserWallet pairing-relay-status, redirect; website-data, proxy data, cryptographie, fixKnowledge
**Motivations:**
- Partie connectée du skeleton accessible seulement si pairing satisfait + relais OK, avec page type skeleton (avatar, notifications).
- Éviter « Aucun service disponible » : contrat présent en dur dans la page, transmis à l’iframe ; navigation évidente ou automatique vers login.
- Sécuriser postMessage (origine UserWallet uniquement) ; déployer data sur le proxy et certificat data.certificator.4nkweb.com.
- Vulgariser cryptographie (ECDH, AES-GCM, Schnorr, workflow, collecte signatures) ; documenter correctifs et architecture.

**Root causes:**
- Section connectée affichée sans vérifier pairing/relay ; possibilité de forger pairing-relay-status depuis la console.
- Iframe masquée ou /login chargé avant réception du contrat → graphe vide, redirection vers /services.
- Pas de contrôle d’origine sur les messages reçus ; pas de projet website-data ni config Nginx/certificat pour data.

**Correctifs:**
- Vérification msg.origin === USERWALLET_ORIGIN dans handleMessage (skeleton).
- Si session mais pas pairingRelayStatus : afficher iframe pour réception du statut, message « Vérification du statut… ».
- Contrat envoyé dès load iframe (init iframe.src = USERWALLET_ORIGIN) ; au clic « Se connecter », envoi contract + navigate-login (service, membre).
- UserWallet : écoute navigate-login → navigation /login?service=&membre= ; LoginScreen avec service+membre en URL ne redirige plus vers /services, dispatch E_SELECT_SERVICE / E_SELECT_MEMBER.

**Evolutions:**
- Message pairing-relay-status (iframe → parent) ; canShowConnectedSection exige login + pairing OK + relay OK ; page connectée avec header avatar + icône notifications.
- Skeleton : getLoginContext, sendNavigateLoginToIframe, onIframeLoad, loginRequested/iframeLoaded ; contrat envoyé avec serviceUuid, membreUuid.
- UserWallet : PairingRelayStatusMessage, envoi depuis HomeScreen/LoginScreen ; type navigate-login, handleNavigateLogin dans useChannel.
- Page cryptographie.html (workflow, algorithmes, collecte signatures) ; liens nav, build.
- website-data (Vite, channel, config), start/service/install ; configure-nginx-proxy + Certbot pour data.certificator.4nkweb.com.
- fixKnowledge (postmessage-origin, section-connectee-non-affichee) ; features (partie-connectee-pairing-relay, userwallet-iframe-key-isolation).

**Pages affectées:**
- website-skeleton (index, main, config, serviceContract, cryptographie, technique, membre, contrat, vite.config, README).
- userwallet (HomeScreen, LoginScreen, useChannel, iframeChannel, relay, crypto, iframe, Pairing*, RelaySettings, WordInputGrid, syncUpdateGraph, specs/synthese).
- website-data (nouveau), configure-nginx-proxy, docs DOMAINS_AND_PORTS README, features, fixKnowledge, userwallet features/docs.
2026-01-29 00:55:58 +01:00

3.7 KiB

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
  • DOMAINS_AND_PORTS.md : Documentation des domaines et ports

    • Liste complète des domaines et services
    • Ports fixes de toutes les APIs
    • Configuration Nginx et routage
    • Services systemd
    • Architecture réseau
    • Certificats SSL/TLS
  • ENVIRONMENT.md : Documentation des fichiers d'environnement

    • Variables d'environnement de tous les services
    • Fichiers .env et leur utilisation
    • Configuration des services systemd
    • Ordre de priorité des variables
    • Sécurité et bonnes pratiques
  • DASHBOARD.md : Documentation du Dashboard

    • Pages disponibles et fonctionnalités
    • Navigation et structure
    • Mise à jour automatique
    • API endpoints utilisés
    • Maintenance et dépannage
  • WEBSITE_SKELETON.md : Squelette de site intégrant UserWallet en iframe

    • Objectif et structure du projet website-skeleton/
    • Configuration (origine UserWallet, validateurs)
    • Utilisation, messages postMessage, références
  • website-data (website-data/, features/website-data-architecture.md) : Iframe data (data.certificator.4nkweb.com), flux site ↔ data (+notifications) ↔ userwallet (relais).

  • PAIRING_PUBLIC_KEY_ENCODING.md : Encodage de la clé publique dans les mots BIP32

    • Problème identifié (récupération d'un pair par UUID sur un relais)
    • Solution implémentée (encodage direct de la clé publique)
    • Modifications techniques et impact
    • Flux de pairing et migration

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.