Skip to main content

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 mainnet and testnet.

Contributing

Found a bug? Have an idea for a feature? File an issue or PR on the Leo GitHub or the Documentation Source.