Foreword

En 2020, StarkWare publiait Cairo 0, un langage de programmation Turing-complet supportant la computation vérifiable (verifiable computation). Cairo a démarré comme langage assembleur et a progressivement évolué pour devenir plus expressif. La courbe d'apprentissage était initialement forte, car Cairo 0.x était un langage bas niveau qui n'apportait qu'une faible abstraction des primitives cryptographiques requises pour calculer une preuve de l'exécution d'un programme.

Avec la sortie de Cairo 1, l'expérience proposée aux développeur est désormais améliorée, avec une abstraction du modèle de mémoire immuable de l'architecture Cairo dès que possible. Fortement inspiré de Rust, Cairo 1 a été construit pour vous aider à créer des programmes prouvables sans connaissance particulière de l'architecture sous-jacente pour ainsi vous focaliser sur le programme en lui même, ce qui permet de renforcer la sécurité des programmes écrits en Cairo. Basée sur une VM en Rust, l'exécution des programmes Cairo est maintenant incroyablement rapide, vous permettant d'ajouter des jeux de tests étendus sans compromettre les performances.

Les développeurs blockchain qui souhaitent déployer des contrats sur Starknet utiliseront le langage de programmation Cairo pour écrire leurs contrats intelligents. Ceci permet au Starknet OS de générer des traces d'exécution pour les transactions afin d'être prouvées par un prouveur, pour ensuite être vérifiées sur Ethereum L1 avant d'actualiser l'état de Starknet.

Cependant, Cairo n'est pas seulement dédié aux développeurs blockchain. En tant que langage de programmation généraliste, Cairo peut être utilisé pour tout type de calculs au bénéfice d'être prouvé par un ordinateur et vérifé par un autre ordinateur avec des prérequis matériels beaucoup moins importants.

Ce livre a pour cible des développeurs avec une connaissance basique de programmation. La rédaction accessible et compréhensive du contenu vous aidera à augmenter vos connaissances de Cairo, mais aussi vos compétences de programmation en général. Lancez vous pour tout savoir sur Cairo !

— La communauté Cairo

Last change: 2023-04-16, commit: 4f921ff