# Discussions autour du sujet "vocabulaire de base pour comprendre Duniter-v2s"

**URL:** https://forum.duniter.org/t/discussions-autour-du-sujet-vocabulaire-de-base-pour-comprendre-duniter-v2s/9063
**Category:** Duniter-v2s
**Created:** [27 January 2022 22:02 UTC](https://forum.duniter.org/t/discussions-autour-du-sujet-vocabulaire-de-base-pour-comprendre-duniter-v2s/9063 "2022-01-27T22:02:58Z")
**Posts on this page:** 1
**Page:** 3

<div class="post-metadata">

### Author: ![HugoTrentesaux](https://forum.duniter.org/user_avatar/forum.duniter.org/hugotrentesaux/32/6396_2.png) [@HugoTrentesaux](https://forum.duniter.org/u/HugoTrentesaux)
#### Post date: [28 May 2024 07:59 UTC](https://forum.duniter.org/t/discussions-autour-du-sujet-vocabulaire-de-base-pour-comprendre-duniter-v2s/9063/41 "2024-05-28T07:59:33Z")

</div>

Dans le post [Schéma de release pour Duniter #195](https://forum.duniter.org/t/schema-de-release-pour-duniter-195/12284) je propose une autre formulation de certaines définitions.

### Client

Le client est à la fois la “machine virtuelle” qui exécute le runtime, et le logiciel qui assura la connexion avec l’extérieur (couche p2p, API RPC, oracle de distance, keystore…). Le client inclut un runtime “natif” (mais on ne l’utilise pas sauf exception), plusieurs specs (par exemple `duniter --chain=dev`, `duniter --chain=gdev` pour un client compilé avec la feature `gdev`), cf le super post [État des lieux des différentes chaînes](https://forum.duniter.org/t/etat-des-lieux-des-differentes-chaines/11562).

### Runtime

C’est à la fois **un élément de l’état** (_state_) en tant que “donnée binaire” et à la fois **la fonction de transition d’état** (_state transition_) interprétée en webassembly et exécutée à chaque bloc par le client pour passer d’un état au suivant. Elle peut être modifiée par la méthode `system.setCode(runtime)`, elle-même faisant partie du runtime.

### Réseau

C’est la notion qui me manquait au début. C’est à la fois simple car intuitif, et complexe car plein de concepts entrent en jeu.  
Un réseau blockchain, c’est un ensemble de machines connectés ensemble qui exécutent le même code (runtime) en même temps. Un réseau peut avoir plusieurs clients différents. Ces clients peuvent être légèrement différents (version différente, architecture différente) ou même radicalement différents (autre implémentation dans un autre langage).  
Le runtime d’un réseau peut évoluer au cours du temps (blocs de numéro croissant) lors des runtime upgrades. Ça reste le même réseau, mais toutes les machines se sont mises d’accord _en même temps_ de changer leur fonction de transition d’état.

[Previous page](https://forum.duniter.org/t/discussions-autour-du-sujet-vocabulaire-de-base-pour-comprendre-duniter-v2s/9063.md?page=2)
