Ce post en mode wiki fait suite à Vocabulaire de base pour comprendre Duniter-v2s (lecture fortement recommandée pour tous). Le but est d’expliquer en français simple les concepts parfois mal documentés de substrate.
prérequis de l’autre page de vocabulaire : Call, Extrinsic, Runtime
prérequis généraux : Merkle Tree
Proof size
La proof size d’un extrinsic est la taille en octets des données (onchain) nécessaires à son exécution (hors runtime). Dans le cadre de substrate, il s’agit d’un sous-ensemble du merkle tree du storage.
Ref time
Temps total d’exécution disponible dans un bloc. De l’ordre de 2 secondes.
Weight
Coût CPU d’exécution d’un extrinsic mesuré en unité de temps (penser picosecondes). Des benchmarks permettent d’estimer le poids maximal théorique (pire scénario) pour savoir a priori s’il reste assez de temps de calcul dans le bloc courant pour tenter d’inclure un extrinsic donné (par rapport au ref time). Ce poids est une composante qui fait partie du calcul des frais.
*_Length
(block_length, extrinsic_length…) TODO
State root
Nœud racine de “l’état”. Toutes les données onchain utilisées pour les transitions d’état font partie du merkle tree descendant de ce nœud racine. Cela inclut à la fois les données en entrée des fonctions et la fonction de transition d’état elle-même (le runtime).