Solidity

Dernière mise à jour 24 sept. 2026

En une phrase

Solidity est un langage de programmation à typage statique utilisé pour écrire des contrats intelligents exécutés par la machine virtuelle Ethereum.

Solidity est un langage de programmation de haut niveau à typage statique destiné aux contrats intelligents exécutés par la machine virtuelle Ethereum (EVM). Il permet de définir l’état, les fonctions et les événements d’un contrat, ainsi que ses règles d’interaction avec les actifs numériques.

Du code source au contrat

Un compilateur transforme le code Solidity en bytecode EVM. L’interface binaire d’application (ABI) décrit comment les autres logiciels appellent les fonctions et interprètent les données. Déployer un contrat ou modifier son état sur la blockchain nécessite des transactions et du gas. Lire l’état existant par un appel à un nœud local ne nécessite pas forcément une transaction payante.

Solidity sert notamment aux tokens, au séquestre et à la gouvernance. Sa syntaxe peut rappeler JavaScript, mais l’exécution suit les règles de la blockchain, pas celles d’un navigateur. Les paramètres du compilateur et les fonctionnalités EVM prises en charge par le réseau cible influencent la compatibilité.

Visibilité du code et sécurité

Publier un code source vérifié facilite sa comparaison avec le contrat déployé, sans démontrer sa sécurité. Les contrôles d’accès, appels externes, hypothèses sur les oracles et pouvoirs administratifs restent à examiner.

Une variable marquée private n’est pas secrète sur une blockchain publique. Une réentrance peut survenir lorsqu’un appel externe revient dans le contrat avant la mise à jour sécurisée de son état. Les tests et une revue de sécurité indépendante réduisent les risques sans les supprimer.