Qu’est-ce que Solidity ?

Effectué

Solidity est un langage orienté objet qui permet d’écrire des contrats intelligents.

Les contrats intelligents sont des programmes stockés dans une blockchain. Ils spécifient les règles et le comportement de transfert des ressources numériques. Vous utilisez Solidity pour programmer des contrats intelligents pour la plateforme blockchain Ethereum. Les contrats intelligents contiennent l’état et la logique programmable. Les transactions génèrent des fonctions exécutées dans des contrats intelligents. Ainsi, les contrats intelligents vous permettent de créer un workflow métier.

Vue d’ensemble

Solidity est le langage de programmation le plus répandu pour la blockchain Ethereum.

Solidity est un langage général qui s’appuie sur d’autres langages de programmation, notamment C++, Python et JavaScript. Si vous connaissez bien l’une de ces langages, le code de Solidity devrait vous paraître familier.

Solidity est statiquement typé, ce qui signifie que le contrôle de type se produit au moment de la compilation, et non au moment de l’exécution comme avec les langages dynamiquement typés. Avec un langage statiquement typé, vous avez besoin de spécifier le type de chaque variable. Par exemple, Python et JavaScript sont des langages dynamiquement typés, alors que C++ est statiquement typé.

Solidity prend en charge l’héritage, ce qui signifie que les fonctions, les variables et d’autres propriétés présentes dans un contrat peuvent être utilisées dans un autre contrat. Le langage prend aussi en charge des types complexes définis par l’utilisateur, comme des structs et des enums, ce qui vous permet de regrouper des types de données associés.

Solidity est un langage de programmation open source dont la communauté de collaborateurs est croissante. Pour en savoir plus sur le projet Solidity et savoir comment y contribuer, consultez le dépôt GitHub.

Qu’est-ce que la plateforme Ethereum ?

Avant d’aller plus loin, vous devez aussi vous familiariser avec Ethereum.

Ethereum est l’une des plateformes blockchain les plus connues, juste derrière Bitcoin. Il s’agit d’une technologie communautairement élaborée qui a sa propre cryptomonnaie, appelée Ether (ETH), que vous pouvez acheter et vendre.

Sa particularité est d’être la seule « blockchain programmable dans le monde ». En utilisant Ethereum, vous pouvez coder des définitions de contrat, également appelées contrats intelligents. Les contrats intelligents servent à décrire la façon dont les participants de la blockchain transfèrent les ressources numériques. Solidity est le principal langage de programmation utilisé pour développer sur la plateforme Ethereum. Ce sont des développeurs Ethereum qui le génère et le tiennent à jour.

Machine virtuelle Ethereum

Les contrats Solidity s’exécutent sur la machine virtuelle Ethereum, ou EVM (Ethereum Virtual Machine). Il s’agit d’un environnement bac à sable (sandbox) entièrement isolé. EVM n’accède à rien d’autre sur le réseau que les contrats qu’elle exécute. Vous n’avez pas besoin d’en savoir beaucoup plus sur EVM pour l’instant, mais souvenez-vous que des contrats intelligents Solidity vont être déployés pour être exécutés dans un environnement virtuel.