The Leo Programming Language
Leo is an open-source, statically-typed, imperative programming language designed for building private applications on the Aleo blockchain. It abstracts the complexities of zero-knowledge cryptography, enabling developers to create secure, privacy-preserving applications while abstracting technical complexities.
Key Features
- Intuitive Syntax. Influenced by languages like JavaScript and Rust, Leo offers a familiar and readable syntax, making it accessible to a wide range of developers.
- Seamless Aleo Integration. Specifically designed for the Aleo blockchain, Leo ensures smooth deployment and management of applications within Aleo's zero-knowledge ecosystem.
- Robust Tooling. Leo provides a comprehensive suite of tools, including a command-line interface and integrated development environment (IDE) plugins for Visual Studio Code, Sublime Text 3, and IntelliJ, enhancing the developer experience.
- Formal Verification. With a formally defined language structure, Leo enables developers to perform formal verification of their programs, ensuring correctness and security in application logic.
Overview
-
Getting Started. Install, set up your development environment, and get familiar with Leo.
-
Language. The syntax and semantics.
-
CLI. Utilities that will help you build, deploy, and execute Leo programs. Includes other helpful utilities.
-
Testing. The testing ecosystem for Leo programs.
-
Guides. Deepen your understanding of Leo and Aleo.
-
Resources. How to get involved with the community and supplemental material.
-
SDK. Productionize your Leo program.
-
Provable API. Endpoints to query and interact with
mainnetandtestnet.
Contributing
Found a bug? Have an idea for a feature? File an issue or PR on the Leo GitHub or the Documentation Source.