tables des matières update (doc)

This commit is contained in:
NicolasCantu 2024-02-16 17:14:35 +01:00
parent 634105d245
commit fcc8d0db15
6 changed files with 129 additions and 126 deletions

View File

@ -1,7 +1,7 @@
<!-- vscode-markdown-toc --> <!-- vscode-markdown-toc -->
* 1. [Worfklows](#Worfklows) * 1. [Worfklows](#Worfklows)
* 2. [Transverse](#Transverse) * 2. [Transverse](#Transverse)
* 3. [3.3. Diagrammes d'architecture](#Diagrammesdarchitecture) * 3. [Diagrammes d'architecture](#Diagrammesdarchitecture)
* 4. [Todo](#Todo) * 4. [Todo](#Todo)
<!-- vscode-markdown-toc-config <!-- vscode-markdown-toc-config
@ -29,7 +29,7 @@
* **Maintenance, environnement de déploiement**: [Specs-Deployment.md] * **Maintenance, environnement de déploiement**: [Specs-Deployment.md]
* **References**: [Specs-References.md](Specs-References.md) * **References**: [Specs-References.md](Specs-References.md)
## 3. <a name='Diagrammesdarchitecture'></a>3.3. Diagrammes d'architecture ## 3. <a name='Diagrammesdarchitecture'></a>Diagrammes d'architecture
* **Diagramme d'architecture montrant les composants principaux du système de login.** * **Diagramme d'architecture montrant les composants principaux du système de login.**
[SheatSheet 4NK](https://cryptpad.fr/diagram/#/2/diagram/view/3UG+7ccutUvJlwJ1-bR40RhgOA+rb5eEmw42wtkN19A) [SheatSheet 4NK](https://cryptpad.fr/diagram/#/2/diagram/view/3UG+7ccutUvJlwJ1-bR40RhgOA+rb5eEmw42wtkN19A)

View File

@ -4,43 +4,43 @@
* 3. [3. Documents de référence](#Documentsderfrence) * 3. [3. Documents de référence](#Documentsderfrence)
* 4. [## 4. Variable `SharedPeerList` du SDK (Wasm)](#4.VariableSharedPeerListduSDKWasm) * 4. [## 4. Variable `SharedPeerList` du SDK (Wasm)](#4.VariableSharedPeerListduSDKWasm)
* 5. [5. Structure du stockage en cache](#Structuredustockageencache) * 5. [5. Structure du stockage en cache](#Structuredustockageencache)
* 5.1. [5.1. Relais](#Relais) * 5.1. [5.1. Relais](#Relais)
* 5.2. [5.2. Process](#Process) * 5.2. [5.2. Process](#Process)
* 5.3. [5.3. Liste des hashs des messages reçus](#Listedeshashsdesmessagesreus) * 5.3. [5.3. Liste des hashs des messages reçus](#Listedeshashsdesmessagesreus)
* 5.4. [5.4. Liste des sockets ouverts](#Listedessocketsouverts) * 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. [6. Caractéristiques générales des messages de type `Message` et de type `MessageConnect`](#CaractristiquesgnralesdesmessagesdetypeMessageetdetypeMessageConnect)
* 6.1. [6.1. SharedPeerList](#SharedPeerList) * 6.1. [6.1. SharedPeerList](#SharedPeerList)
* 6.2. [6.2. SharedProcessList](#SharedProcessList) * 6.2. [6.2. SharedProcessList](#SharedProcessList)
* 6.3. [6.3. Taille des données](#Tailledesdonnes) * 6.3. [6.3. Taille des données](#Tailledesdonnes)
* 6.4. [6.4. Preuve de travail](#Preuvedetravail) * 6.4. [6.4. Preuve de travail](#Preuvedetravail)
* 6.5. [6.5. Adresse SP de faucet](#AdresseSPdefaucet) * 6.5. [6.5. Adresse SP de faucet](#AdresseSPdefaucet)
* 7. [7. Traitements par les clients](#Traitementsparlesclients) * 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. [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.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.1.2. [7.1.2. Envoi du message de type `MessageConnect` à chaque relais](#EnvoidumessagedetypeMessageConnectchaquerelais)
* 7.2. [7.2. Envoi de `RequestPcd` sur les relais via les messages de type `Message`](#EnvoideRequestPcdsurlesrelaisvialesmessagesdetypeMessage) * 7.2. [7.2. Envoi de `RequestPcd` sur les relais via les messages de type `Message`](#EnvoideRequestPcdsurlesrelaisvialesmessagesdetypeMessage)
* 7.3. [7.3. Envoi de `RequestPrd` sur les relais via les messages de type `Message`](#EnvoideRequestPrdsurlesrelaisvialesmessagesdetypeMessage) * 7.3. [7.3. Envoi de `RequestPrd` sur les relais via les messages de type `Message`](#EnvoideRequestPrdsurlesrelaisvialesmessagesdetypeMessage)
* 7.4. [7.4. Traitement des messages de type `Message` par les clients](#TraitementdesmessagesdetypeMessageparlesclients) * 7.4. [7.4. Traitement des messages de type `Message` par les clients](#TraitementdesmessagesdetypeMessageparlesclients)
* 8. [8. Traitements par les relais](#Traitementsparlesrelais) * 8. [8. Traitements par les relais](#Traitementsparlesrelais)
* 8.1. [8.1. Traitement des messages de type `MessageConnect` par les relais](#TraitementdesmessagesdetypeMessageConnectparlesrelais) * 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) * 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. [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.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) * 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. [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.1. [10.1. Protocole de Découverte des Pairs](#ProtocoledeDcouvertedesPairs)
* 10.2. [10.2. Protocole de Transmission des Transactions](#ProtocoledeTransmissiondesTransactions) * 10.2. [10.2. Protocole de Transmission des Transactions](#ProtocoledeTransmissiondesTransactions)
* 10.3. [10.3. Protocole de Partage des Blocs](#ProtocoledePartagedesBlocs) * 10.3. [10.3. Protocole de Partage des Blocs](#ProtocoledePartagedesBlocs)
* 10.4. [10.4. Validation et relais](#Validationetrelais) * 10.4. [10.4. Validation et relais](#Validationetrelais)
* 10.5. [10.5. Gestion des Forks](#GestiondesForks) * 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. [10.6. Connexion au réseau de nœuds de side chain](#Connexionaurseaudenudsdesidechain)
* 10.6.1. [10.6.1. Clients](#Clients) * 10.6.1. [10.6.1. Clients](#Clients)
* 10.6.2. [10.6.2. Relais](#Relais-1) * 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.7. [10.7. Connexion au réseau de nœuds de layer 1](#Connexionaurseaudenudsdelayer1)
* 10.8. [10.8. Horodatage et ancrage des `RequestPrd` via les transactions Silent Payment (SP)](#HorodatageetancragedesRequestPrdvialestransactionsSilentPaymentSP) * 10.8. [10.8. Horodatage et ancrage des `RequestPrd` via les transactions Silent Payment (SP)](#HorodatageetancragedesRequestPrdvialestransactionsSilentPaymentSP)
* 11. [## 11. Transactions mainnet Bitcoin](#11.TransactionsmainnetBitcoin) * 11. [## 11. Transactions mainnet Bitcoin](#11.TransactionsmainnetBitcoin)
* 11.1. [11.1. Horodatage et ancrage des blocs de la side chain sur Bitcoin](#HorodatageetancragedesblocsdelasidechainsurBitcoin) * 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) * 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) * 12. [Exemples de Code](#ExemplesdeCode)
* 13. [Todo](#Todo) * 13. [Todo](#Todo)

View File

@ -3,37 +3,36 @@
* 2. [Portée](#Porte) * 2. [Portée](#Porte)
* 3. [3. Documents de référence](#Documentsderfrence) * 3. [3. Documents de référence](#Documentsderfrence)
* 4. [Commun aux `RequestPcd` et RequestPrd](#CommunauxRequestPcdetRequestPrd) * 4. [Commun aux `RequestPcd` et RequestPrd](#CommunauxRequestPcdetRequestPrd)
* 4.1. [Création et envoi](#Crationetenvoi) * 4.1. [Création et envoi](#Crationetenvoi)
* 4.2. [Réception](#Rception) * 4.2. [Réception](#Rception)
* 5. [Fonction des RequestPcd](#FonctiondesRequestPcd) * 5. [Fonction des RequestPcd](#FonctiondesRequestPcd)
* 5.1. [Création et envoi](#Crationetenvoi-1) * 5.1. [Création et envoi](#Crationetenvoi-1)
* 5.2. [Réception](#Rception-1) * 5.2. [Réception](#Rception-1)
* 6. [Fonction des RequestPrd](#FonctiondesRequestPrd) * 6. [Fonction des RequestPrd](#FonctiondesRequestPrd)
* 6.1. [Fonctionnalités optionnelles](#Fonctionnalitsoptionnelles) * 6.1. [Fonctionnalités optionnelles](#Fonctionnalitsoptionnelles)
* 6.2. [Fonction des`transaction SP` associées aux RequestPrd](#FonctiondestransactionssilentpaymentSPassociesauxRequestPrd) * 6.2. [Création et envoi](#Crationetenvoi-1)
* 6.3. [Création et envoi](#Crationetenvoi-1) * 6.3. [Réception](#Rception-1)
* 6.4. [Réception](#Rception-1)
* 7. [RequestPrdList - Demande de Listes ( RequestPcd)](#RequestPrdList-DemandedeListesRequestPcd) * 7. [RequestPrdList - Demande de Listes ( RequestPcd)](#RequestPrdList-DemandedeListesRequestPcd)
* 7.1. [Création et envoi](#Crationetenvoi-1) * 7.1. [Création et envoi](#Crationetenvoi-1)
* 7.2. [Réception](#Rception-1) * 7.2. [Réception](#Rception-1)
* 8. [RequestPrdMessage - Envoi de Messages](#RequestPrdMessage-EnvoideMessages) * 8. [RequestPrdMessage - Envoi de Messages](#RequestPrdMessage-EnvoideMessages)
* 8.1. [Création et envoi](#Crationetenvoi-1) * 8.1. [Création et envoi](#Crationetenvoi-1)
* 8.2. [Réception](#Rception-1) * 8.2. [Réception](#Rception-1)
* 9. [RequestPrdUpdate - Mises à Jour de RequestPcd](#RequestPrdUpdate-MisesJourdeRequestPcd) * 9. [RequestPrdUpdate - Mises à Jour de RequestPcd](#RequestPrdUpdate-MisesJourdeRequestPcd)
* 9.1. [Création et envoi](#Crationetenvoi-1) * 9.1. [Création et envoi](#Crationetenvoi-1)
* 9.2. [Réception](#Rception-1) * 9.2. [Réception](#Rception-1)
* 10. [RequestPrdConfirm - Confirmation de Réception](#RequestPrdConfirm-ConfirmationdeRception) * 10. [RequestPrdConfirm - Confirmation de Réception](#RequestPrdConfirm-ConfirmationdeRception)
* 10.1. [Création et envoi](#Crationetenvoi-1) * 10.1. [Création et envoi](#Crationetenvoi-1)
* 10.2. [Réception](#Rception-1) * 10.2. [Réception](#Rception-1)
* 11. [RequestPrdResponse - Répondre à une Demande](#RequestPrdResponse-RpondreuneDemande) * 11. [RequestPrdResponse - Répondre à une Demande](#RequestPrdResponse-RpondreuneDemande)
* 11.1. [Création et envoi](#Crationetenvoi-1) * 11.1. [Création et envoi](#Crationetenvoi-1)
* 11.2. [Réception](#Rception-1) * 11.2. [Réception](#Rception-1)
* 12. [RequestPrdKeyHelloBakcup](#RequestPrdKeyHelloBakcup) * 12. [RequestPrdKeyHelloBakcup](#RequestPrdKeyHelloBakcup)
* 12.1. [Création et envoi](#Crationetenvoi-1) * 12.1. [Création et envoi](#Crationetenvoi-1)
* 12.2. [Réception](#Rception-1) * 12.2. [Réception](#Rception-1)
* 13. [RequestPrdKeyHello - Échange de Clés et d'Identités](#RequestPrdKeyHello-changedeClsetdIdentits) * 13. [RequestPrdKeyHello - Échange de Clés et d'Identités](#RequestPrdKeyHello-changedeClsetdIdentits)
* 13.1. [Création et envoi](#Crationetenvoi-1) * 13.1. [Création et envoi](#Crationetenvoi-1)
* 13.2. [Réception](#Rception-1) * 13.2. [Réception](#Rception-1)
* 14. [Exemples de Code](#ExemplesdeCode) * 14. [Exemples de Code](#ExemplesdeCode)
* 15. [Todo](#Todo) * 15. [Todo](#Todo)
@ -143,7 +142,7 @@ Les adresses et les roles sont précisés en cas d'utilisateurs ayant plusieurs
Tous les échanges sont complétés de l'empreinte du device de l'emetteur envoyée de façon confidentielle via `device_footprint_enc_by_shared_secret`. Tous les échanges sont complétés de l'empreinte du device de l'emetteur envoyée de façon confidentielle via `device_footprint_enc_by_shared_secret`.
### 6.3. <a name='Crationetenvoi-1'></a>Création et envoi ### 6.2. <a name='Crationetenvoi-1'></a>Création et envoi
La création d'un `RequestPrd` suit plusieurs étapes : La création d'un `RequestPrd` suit plusieurs étapes :
@ -159,7 +158,7 @@ La création d'un `RequestPrd` suit plusieurs étapes :
Voir [Silent-Payment-Specs.md](Silent-Payment-Specs.md). Voir [Silent-Payment-Specs.md](Silent-Payment-Specs.md).
### 6.4. <a name='Rception-1'></a>Réception ### 6.3. <a name='Rception-1'></a>Réception
La réception d'un `RequestPcd` suit plusieurs étapes : La réception d'un `RequestPcd` suit plusieurs étapes :

View File

@ -2,7 +2,11 @@
* 1. [Objectif](#Objectif) * 1. [Objectif](#Objectif)
* 2. [Portée](#Porte) * 2. [Portée](#Porte)
* 3. [Documents de référence](#Documentsderfrence) * 3. [Documents de référence](#Documentsderfrence)
* 4. [Structure des outputs](#Structuredesoutputs) * 4. [Fontion](#Fontion)
* 5. [Structure des outputs](#Structuredesoutputs)
* 6. [Envoi de la transaction SP](#EnvoidelatransactionSP)
* 6.1. [Dans un `RequestPrdMessage`](#DansunRequestPrdMessage)
* 6.2. [Dans un `Message` du `RequestPrdMessage`](#DansunMessageduRequestPrdMessage)
<!-- vscode-markdown-toc-config <!-- vscode-markdown-toc-config
numbering=true numbering=true
@ -17,7 +21,7 @@
Voir [Doc_references.md](Doc_references.md). Voir [Doc_references.md](Doc_references.md).
## 4. <a name='Structuredesoutputs'></a> Fontion ## 4. <a name='Fontion'></a> Fontion
La transaction SP à plusieurs objectifs : La transaction SP à plusieurs objectifs :
@ -34,7 +38,7 @@ Les `RequestPrdConfirm` qui sont des accusés automatiques de réception des `Re
Il y a une `transactions SP` pour tous les types de `RequestPrd` sauf pour les `RequestPrdKeyBackup` et les `RequestPrdKeyMessage` ayant l'attribut `raw_transaction_list` non vide. Il y a une `transactions SP` pour tous les types de `RequestPrd` sauf pour les `RequestPrdKeyBackup` et les `RequestPrdKeyMessage` ayant l'attribut `raw_transaction_list` non vide.
## 4. <a name='Structuredesoutputs'></a> Structure des outputs ## 5. <a name='Structuredesoutputs'></a> Structure des outputs
Une fois le `RequestPrd` finalisé, une transaction SP est réalisée, dans cette transaction plusieurs hashs sont ajoutés sur un outputs aux index suivants: Une fois le `RequestPrd` finalisé, une transaction SP est réalisée, dans cette transaction plusieurs hashs sont ajoutés sur un outputs aux index suivants:
@ -54,19 +58,19 @@ Une fois le `RequestPrd` finalisé, une transaction SP est réalisée, dans cett
Pour des raison de confidentialité, le role associé à l'`item_name` du `RequestPrd` peut définir (option) un salt pour la génération des hashs dans l'attribut `sp_output_salt_enc`. Pour des raison de confidentialité, le role associé à l'`item_name` du `RequestPrd` peut définir (option) un salt pour la génération des hashs dans l'attribut `sp_output_salt_enc`.
## 5. Envoi de la transaction SP ## 6. <a name='EnvoidelatransactionSP'></a>Envoi de la transaction SP
Afin d'améliorer la rélisience du broadcast des transactions, la transaction est envoyée à la fois : Afin d'améliorer la rélisience du broadcast des transactions, la transaction est envoyée à la fois :
1. Dans un `RequestPrdMessage` à un membre du rôle `member` du `ItemProcess` concerné et 1. Dans un `RequestPrdMessage` à un membre du rôle `member` du `ItemProcess` concerné et
2. Dans le `Message` du `RequestPrdMessage` sur les relais 2. Dans le `Message` du `RequestPrdMessage` sur les relais
### Dans un `RequestPrdMessage` ### 6.1. <a name='DansunRequestPrdMessage'></a>Dans un `RequestPrdMessage`
Dans l'attribut `raw_transaction_list` du `RequestPrdMessage` associé à la transaction SP. Dans l'attribut `raw_transaction_list` du `RequestPrdMessage` associé à la transaction SP.
La transaction sera broadcastée par les noeuds de signet du membre du role `member` du `ItemProcess` concerné qui a reçu ce message, il devra alors avoir un noeud de signet pour le broadcast. La transaction sera broadcastée par les noeuds de signet du membre du role `member` du `ItemProcess` concerné qui a reçu ce message, il devra alors avoir un noeud de signet pour le broadcast.
### Dans un `Message` du `RequestPrdMessage` ### 6.2. <a name='DansunMessageduRequestPrdMessage'></a>Dans un `Message` du `RequestPrdMessage`
Dans l'attribut `raw_transaction_list` du `Message` associé à la transaction SP. Dans l'attribut `raw_transaction_list` du `Message` associé à la transaction SP.
La transaction sera broadcastée par les noeuds de signet des relais. La transaction sera broadcastée par les noeuds de signet des relais.