diff --git a/doc/Messages-SP-Specs.md b/doc/Messages-SP-Specs.md index e400b94..5f417bf 100644 --- a/doc/Messages-SP-Specs.md +++ b/doc/Messages-SP-Specs.md @@ -2,46 +2,47 @@ * 1. [Objectif](#Objectif) * 2. [Portée](#Porte) * 3. [3. Documents de référence](#Documentsderfrence) -* 4. [Variable `SharedPeerList` du SDK (Wasm)](#VariableSharedPeerListduSDKWasm) -* 5. [Structure du stockage en cache](#Structuredustockageencache) - * 5.1. [Relais](#Relais) - * 5.2. [5. Process](#Process) - * 5.3. [Liste des hashs des messages reçus](#Listedeshashsdesmessagesreus) - * 5.4. [Liste des sockets ouverts](#Listedessocketsouverts) -* 6. [Caractéristiques générales des messages de type `Message` et de type `MessageConnect`](#CaractristiquesgnralesdesmessagesdetypeMessageetdetypeMessageConnect) - * 6.1. [SharedPeerList](#SharedPeerList) - * 6.2. [SharedProcessList](#SharedProcessList) - * 6.3. [Taille des données](#Tailledesdonnes) - * 6.4. [Preuve de travail](#Preuvedetravail) - * 6.5. [Adresse SP de faucet](#AdresseSPdefaucet) -* 7. [Traitments par les clients](#Traitmentsparlesclients) - * 7.1. [Connexion d'un client à sa liste relais via les messages de type `MessageConnect`](#ConnexiondunclientsalisterelaisvialesmessagesdetypeMessageConnect) - * 7.1.1. [Récupération et choix des relais](#Rcuprationetchoixdesrelais) - * 7.1.2. [Envoi du message de type `MessageConnect` à chaque relais](#EnvoidumessagedetypeMessageConnectchaquerelais) - * 7.2. [Envoi de PCD sur les relais via les messages de type `Message`](#EnvoidePCDsurlesrelaisvialesmessagesdetypeMessage) - * 7.3. [Envoi de PRD sur les relais via les messages de type `Message`](#EnvoidePRDsurlesrelaisvialesmessagesdetypeMessage) - * 7.4. [Traitement des messages de type `Message` par les clients](#TraitementdesmessagesdetypeMessageparlesclients) -* 8. [Traitements par les relais](#Traitementsparlesrelais) - * 8.1. [Traitement des messages de type `MessageConnect` par les relais](#TraitementdesmessagesdetypeMessageConnectparlesrelais) - * 8.2. [Connexion au réseau de relais via les messages de type `MessageConnect` par les relais](#ConnexionaurseauderelaisvialesmessagesdetypeMessageConnectparlesrelais) -* 9. [Traitement des messages de type `Message` par les relais](#TraitementdesmessagesdetypeMessageparlesrelais) - * 9.1. [Broadcast des messages de type `Message` vers les relais](#BroadcastdesmessagesdetypeMessageverslesrelais) - * 9.2. [Broadcast des messages de type `Message` vers les clients connectés](#BroadcastdesmessagesdetypeMessageverslesclientsconnects) -* 10. [Connexions aux réseaux de noeuds de bitcoin de réseaux side chain ou mainnet](#Connexionsauxrseauxdenoeudsdebitcoinderseauxsidechainoumainnet) - * 10.1. [Protocole de Découverte des Pairs](#ProtocoledeDcouvertedesPairs) - * 10.2. [Protocole de Transmission des Transactions](#ProtocoledeTransmissiondesTransactions) - * 10.3. [Protocole de Partage des Blocs](#ProtocoledePartagedesBlocs) - * 10.4. [Validation et relais](#Validationetrelais) - * 10.5. [Gestion des Forks](#GestiondesForks) - * 10.6. [Connexion au réseau de nodes de side chain](#Connexionaurseaudenodesdesidechain) - * 10.6.1. [Clients](#Clients) - * 10.6.2. [Relais](#Relais-1) - * 10.7. [Connexion au réseau de nodes de layer 1](#Connexionaurseaudenodesdelayer1) - * 10.8. [Horodatage et ancrage des PRD via les transactions Silent Payment (SP)](#HorodatageetancragedesPRDvialestransactionsSilentPaymentSP) -* 11. [Transactions mainnet Bitcoin](#TransactionsmainnetBitcoin) - * 11.1. [Horodatage et ancrage des blocs de la side chain sur Bitcoin](#HorodatageetancragedesblocsdelasidechainsurBitcoin) - * 11.2. [Remboursement des frais d'horodatage et ancrage des blocs de la side chain sur Bitcoin](#RemboursementdesfraisdhorodatageetancragedesblocsdelasidechainsurBitcoin) +* 4. [## 4. Variable `SharedPeerList` du SDK (Wasm)](#4.VariableSharedPeerListduSDKWasm) +* 5. [5. Structure du stockage en cache](#Structuredustockageencache) + * 5.1. [5.1. Relais](#Relais) + * 5.2. [5.2. Process](#Process) + * 5.3. [5.3. Liste des hashs des messages reçus](#Listedeshashsdesmessagesreus) + * 5.4. [5.4. Liste des sockets ouverts](#Listedessocketsouverts) +* 6. [6. Caractéristiques générales des messages de type `Message` et de type `MessageConnect`](#CaractristiquesgnralesdesmessagesdetypeMessageetdetypeMessageConnect) + * 6.1. [6.1. SharedPeerList](#SharedPeerList) + * 6.2. [6.2. SharedProcessList](#SharedProcessList) + * 6.3. [6.3. Taille des données](#Tailledesdonnes) + * 6.4. [6.4. Preuve de travail](#Preuvedetravail) + * 6.5. [6.5. Adresse SP de faucet](#AdresseSPdefaucet) +* 7. [7. Traitements par les clients](#Traitementsparlesclients) + * 7.1. [7.1. Connexion d'un client à sa liste relais via les messages de type `MessageConnect`](#ConnexiondunclientsalisterelaisvialesmessagesdetypeMessageConnect) + * 7.1.1. [7.1.1. Récupération et choix des relais](#Rcuprationetchoixdesrelais) + * 7.1.2. [7.1.2. Envoi du message de type `MessageConnect` à chaque relais](#EnvoidumessagedetypeMessageConnectchaquerelais) + * 7.2. [7.2. Envoi de PCD sur les relais via les messages de type `Message`](#EnvoidePCDsurlesrelaisvialesmessagesdetypeMessage) + * 7.3. [7.3. Envoi de PRD sur les relais via les messages de type `Message`](#EnvoidePRDsurlesrelaisvialesmessagesdetypeMessage) + * 7.4. [7.4. Traitement des messages de type `Message` par les clients](#TraitementdesmessagesdetypeMessageparlesclients) +* 8. [8. Traitements par les relais](#Traitementsparlesrelais) + * 8.1. [8.1. Traitement des messages de type `MessageConnect` par les relais](#TraitementdesmessagesdetypeMessageConnectparlesrelais) + * 8.2. [8.2. Connexion au réseau de relais via les messages de type `MessageConnect` par les relais](#ConnexionaurseauderelaisvialesmessagesdetypeMessageConnectparlesrelais) +* 9. [9. 9. Traitement des messages de type `Message` par les relais](#TraitementdesmessagesdetypeMessageparlesrelais) + * 9.1. [9.1. Broadcast des messages de type `Message` vers les relais](#BroadcastdesmessagesdetypeMessageverslesrelais) + * 9.2. [9.2. Broadcast des messages de type `Message` vers les clients connectés](#BroadcastdesmessagesdetypeMessageverslesclientsconnects) +* 10. [10. Connexions aux réseaux de noeuds de bitcoin de réseaux side chain ou mainnet](#Connexionsauxrseauxdenoeudsdebitcoinderseauxsidechainoumainnet) + * 10.1. [10.1. Protocole de Découverte des Pairs](#ProtocoledeDcouvertedesPairs) + * 10.2. [10.2. Protocole de Transmission des Transactions](#ProtocoledeTransmissiondesTransactions) + * 10.3. [10.3. Protocole de Partage des Blocs](#ProtocoledePartagedesBlocs) + * 10.4. [10.4. Validation et relais](#Validationetrelais) + * 10.5. [10.5. Gestion des Forks](#GestiondesForks) + * 10.6. [10.6. Connexion au réseau de nœuds de side chain](#Connexionaurseaudenudsdesidechain) + * 10.6.1. [10.6.1. Clients](#Clients) + * 10.6.2. [10.6.2. Relais](#Relais-1) + * 10.7. [10.7. Connexion au réseau de nœuds de layer 1](#Connexionaurseaudenudsdelayer1) + * 10.8. [10.8. Horodatage et ancrage des PRD via les transactions Silent Payment (SP)](#HorodatageetancragedesPRDvialestransactionsSilentPaymentSP) +* 11. [## 11. Transactions mainnet Bitcoin](#11.TransactionsmainnetBitcoin) + * 11.1. [11.1. Horodatage et ancrage des blocs de la side chain sur Bitcoin](#HorodatageetancragedesblocsdelasidechainsurBitcoin) + * 11.2. [11.2. Remboursement des frais d'horodatage et ancrage des blocs de la side chain sur Bitcoin](#RemboursementdesfraisdhorodatageetancragedesblocsdelasidechainsurBitcoin) * 12. [Exemples de Code](#ExemplesdeCode) +* 13. [Markdown todo](#Markdowntodo)