B.BlockAxis⌕ Recherche
Menu

Smart contracts et composabilité

L’EVM exécute des instructions de manière déterministe.

IntermédiaireContenu révisé · 13.09.20263 min de lecture · prévoir 5–10 min pour l’atelierBlockAxis

Votre programme

Suivre exécution et annulation

À la fin, expliquez le schéma avec vos mots, résolvez le cas et justifiez la correction.

Prérequis : Un état partagé et des comptes · Le gas : payer le travail effectué

Niveau 2 · Intermédiaire →

Parcours de lecture · 10 / 35 · Intermédiaire

Point clé

L’EVM exécute des instructions de manière déterministe.

L’essentiel

L’EVM exécute des instructions de manière déterministe. Les nœuds qui partent du même état et exécutent les mêmes opérations doivent retrouver le même résultat. Un contrat ne peut donc pas récupérer librement un cours sur un site web pendant l’exécution : cette donnée doit être introduite par un mécanisme défini, tel qu’un oracle.

Le mécanisme

Un contrat peut appeler d’autres contrats. Cette composabilité permet de combiner échange, emprunt et remboursement dans une seule transaction. Si une condition essentielle échoue et provoque un revert global, les changements d’état de cette transaction sont annulés, mais les frais du calcul effectué restent dus.

Les points d’attention

Du code déployé peut être immuable, tandis qu’un système de proxy peut permettre de remplacer la logique utilisée. L’adresse seule ne prouve donc pas l’absence de pouvoir d’administration. Il faut examiner les droits de mise à jour, les délais et les contrôles autour des clés.

Comprendre en profondeur

L’EVM exécute des instructions de manière déterministe sur un état donné. Le stockage d’un contrat persiste entre transactions ; la mémoire temporaire d’exécution ne persiste pas. Un appel peut invoquer un autre contrat, puis d’autres programmes. Cette composition est utile mais élargit le comportement à examiner derrière une action apparemment simple.

Limites et erreurs fréquentes

Un revert annule les changements dans le périmètre concerné, tandis que le gas consommé reste important. L’appelant peut gérer volontairement un sous-appel échoué : tout échec interne ne signifie donc pas échec global. Un proxy modifiable ajoute une distinction : l’adresse appelée peut déléguer son comportement à une implémentation modifiable par gouvernance ou administrateur.

Le mécanisme en un schéma

  1. État initial
  2. A appelle B
  3. Réussite ou échec géré
  4. Valider ou annuler le périmètre
Suivre exécution et annulation. Carte conceptuelle : reliez ces quatre repères à l’explication ci-dessus.
Atelier d’application · à votre rythme

Appliquer la leçon à un cas

Le contrat A enregistre un ordre, appelle B, puis exige un résultat positif. B échoue et A annule. Suivez l’ordre, le mouvement de jetons et les frais. Comparez ensuite avec A qui intercepte l’échec et continue sans déplacer les jetons.

Pourquoi une application doit-elle regarder au-delà du reçu global ?

Choisissez une réponse.

Les termes de cette leçon
Oracle
Un mécanisme fournissant à un contrat des informations provenant d’un autre contexte.
Préparer une note de correction

Décrivez le passage et la correction proposée. Vous pourrez copier cette note pour la partager ; rien n’est envoyé. N’incluez aucune donnée personnelle ou confidentielle.