Premiers pas avec Solidity, un langage pour écrire des contrats intelligents

Solidity est un langage de programmation orienté objet permettant d’écrire des contrats intelligents – les smart contracts – pour différentes platesformes basées sur le principe de la blockchain, dont Ethereum.

Vous trouverez de nombreuses ressources sur le site du projet solidity à l’adresse https://solidity.readthedocs.io/en/develop/

Qu’est-ce que Solidity ?

Le projet Solidity a été initialement proposé chez Ethereum en août 2014 par un certain Gavin Wood. Une fois le projet validé, le langage a ensuite été développé par l’équipe Solidity du projet Ethereum, dirigée par Christian Reitwiessner et incluant les développeurs Alex Beregszaszi et Yoichi Hirai. Solidity est l’un des quatre langages conçus pour cibler la machine virtuelle Ethereum (EVM pour Ethereum Virtual Machine), les trois autres étant Serpent, LLL et Mutan (déjà déprécié). Ces langages ont pour but commun l’écriture de smart contracts sur, principalement mais pas seulement, la blockchain Ethereum. Solidity est actuellement le langage principal sur Ethereum ainsi que sur d’autres blockchains privées en concurrence avec Ethereum, telle que Monax. Le réseau interbancaire mondial Swift a déployé une preuve de concept fonctionnant sur une implémentation de Tendermint par Monax Industries Eris à l’aide de Solidity.

Solidity est un langage de programmation proche du JavaScript avec un typage statique conçu pour développer des contrats intelligents fonctionnant sur l’EVM. Il est compilé en bytecode exécutable sur l’EVM.

Avec Solidity, les développeurs peuvent écrire des applications qui implémentent la logique métier d’auto-application énoncées dans les contrats intelligents, laissant un enregistrement non répudiable et faisant autorité des transactions. Écrire des smart contracts dans un langage qui leur est spécifique – tel Solidity – est relativement simple pour peu que l’on ait déjà quelques compétences en programmation objet.