Skip to content
This repository was archived by the owner on May 4, 2026. It is now read-only.

Commit 738fe6e

Browse files
Merge pull request #573 from ProvableHQ/mohamadfawaz/leo_4_0
Leo 4.0 updates (changes only)
2 parents f53a426 + f27240f commit 738fe6e

61 files changed

Lines changed: 2404 additions & 2746 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

documentation/00_leo.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,19 @@ id: leo
33
title: The Leo Programming Language
44
sidebar_label: Leo
55
---
6-
[general tags]: # (overview, leo)
76

8-
Leo is an open-source, statically-typed, imperative programming language designed for building private applications on the Aleo blockchain.
7+
[general tags]: # "overview, leo"
8+
9+
Leo is an open-source, statically-typed, imperative programming language designed for building private applications on the Aleo blockchain.
910
It abstracts the complexities of zero-knowledge cryptography, enabling developers to create secure, privacy-preserving applications while abstracting technical complexities.
1011

11-
### Key Features
12+
### Key Features
13+
1214
- **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.
1315
- **Seamless Aleo Integration.** Specifically designed for the Aleo blockchain, Leo ensures smooth deployment and management of applications within Aleo's zero-knowledge ecosystem.
1416
- **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.
1517
- **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.
1618

17-
1819
## Overview
1920

2021
- **Getting Started.** Install, set up your development environment, and get familiar with Leo.
@@ -33,9 +34,6 @@ It abstracts the complexities of zero-knowledge cryptography, enabling developer
3334

3435
- **Provable API.** Endpoints to query and interact with `mainnet` and `testnet`.
3536

36-
3737
## Contributing
3838

3939
Found a bug? Have an idea for a feature? File an issue or PR on the [**Leo GitHub**](https://github.com/ProvableHQ/leo/issues/new/choose) or the [**Documentation Source**](https://github.com/ProvableHQ/leo-docs-source).
40-
41-

documentation/01_new.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,17 @@ id: new
33
title: What's new on Leo?
44
sidebar_label: What's new?
55
---
6-
[general tags]: # (whats_new, leo)
6+
7+
[general tags]: # "whats_new, leo"
78

89
:::tip
10+
911
### [**📦 Releases**](https://github.com/ProvableHQ/leo/releases) - Stay up to date with the latest Leo releases.
10-
### [**🚀 Upgrade Guide**](./guides/10_program_upgradability.md) - Learn how to upgrade your Leo programs.
11-
### [**🤝 Core Developers Call**]( https://developer.aleo.org/guides/how_to_get_help) - Collaborate with the Leo development team and ecosystem on the future of Leo.
12+
13+
### [**🚀 Upgrade Guide**](./guides/09_program_upgradability.md) - Learn how to upgrade your Leo programs.
14+
15+
### [**🤝 Core Developers Call**](https://developer.aleo.org/guides/how_to_get_help) - Collaborate with the Leo development team and ecosystem on the future of Leo.
16+
1217
### [**⚛️ Create Leo App**](https://developer.aleo.org/category/create-leo-app) - A full stack application written in Typescript using Leo and React.
13-
:::
1418

19+
:::

documentation/02_where.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
---
22
id: where
3-
title: Where to go?
3+
title: Where to go?
44
sidebar_label: Where to go?
55
---
6-
[general tags]: # (roadmap, leo)
6+
7+
[general tags]: # "roadmap, leo"
78

89
While a deep dive through the Leo documentation is a useful exercise, we realize that it may not be very practical. To help you along your journey, we've provided a "map" to help you find your way.
910

@@ -16,5 +17,3 @@ While a deep dive through the Leo documentation is a useful exercise, we realize
1617
- If you're interested in tutorials, check out [**Guides**](./guides/00_overview.md). Also be sure to check out the [**Core Aleo Concepts**](https://developer.aleo.org/guides/faqs).
1718

1819
- If you're deploying or running your programs, [**CLI**](./cli/00_overview.md) will be helpful.
19-
20-

documentation/cli/00_overview.md

Lines changed: 44 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
---
22
id: cli_overview
33
title: The Leo Command Line Interface
4-
sidebar_label: Overview
4+
sidebar_label: Overview
55
---
6-
[general tags]: # (cli)
6+
7+
[general tags]: # "cli"
78

89
The Leo CLI is a command line interface tool that comes equipped with the Leo compiler.
910

@@ -13,59 +14,69 @@ You can print the list of commands by running `leo --help`
1314

1415
## Commands
1516

16-
* [`account`](./01_account.md) - Create a new Aleo account, sign and verify messages.
17-
* [`new`](./01_account.md#leo-account-new) - Generates a new Aleo account.
18-
* [`import`](./01_account.md#leo-account-import) - Derive and Aleo account from a private key.
19-
* [`sign`](./01_account.md#leo-account-sign) - Sign a message using your Aleo private key.
20-
* [`verify`](./01_account.md#leo-account-verify) - Verify a message and signature from an Aleo address.
21-
* [`add`](./02_add.md) - Add a new onchain or local dependency to the current project.
22-
* [`build`](./03_build.md) - Compile the current project.
23-
* [`clean`](./04_clean.md) - Clean the build and output artifacts.
24-
* [`debug`](./05_debug.md) - Run the interactive debugger in the current package.
25-
* [`deploy`](./06_deploy.md) - Deploy a program to the Aleo network.
26-
* [`devnet`](./07_devnet.md) - Initialize a local devnet.
27-
* [`execute`](./08_execute.md) - Execute a program and produce a transaction containing a proof.
28-
* [`new`](./09_new.md) - Create a new Leo project in a new directory.
29-
* [`query`](./10_query.md) - Query live data and state from the Aleo network.
30-
* [`block`](./10_query.md#leo-query-block) - Query block information.
31-
* [`transaction`](./10_query.md#leo-query-transaction) - Query transaction information.
32-
* [`program`](./10_query.md#leo-query-program) - Query program source code and live mapping values.
33-
* [`stateroot`](./10_query.md#leo-query-stateroot) - Query the latest stateroot.
34-
* [`committee`](./10_query.md#leo-query-committee) - Query the current committee.
35-
* [`mempool`](./10_query.md#leo-query-mempool) - Query transactions and transmissions from the memory pool.
36-
* [`peers`](./10_query.md#leo-query-peers) - Query peer information.
37-
* [`remove`](./11_remove.md) - Remove a dependency from the current project.
38-
* [`run`](./12_run.md) - Run a program without producing a proof.
39-
* [`test`](./13_test.md) - Run the test cases for a Leo project.
40-
* [`update`](./14_update.md) - Update to the latest version of Leo.
41-
* [`upgrade`](./15_upgrade.md) - Upgrade a deployed program on the Aleo network.
42-
* [`synthesize`](./16_synthesize.md) - Generate proving and verifying keys for a program.
43-
* [`fmt`](./17_fmt.md) - Format Leo source files.
17+
- [`account`](./01_account.md) - Create a new Aleo account, sign and verify messages.
18+
- [`new`](./01_account.md#leo-account-new) - Generates a new Aleo account.
19+
- [`import`](./01_account.md#leo-account-import) - Derive and Aleo account from a private key.
20+
- [`sign`](./01_account.md#leo-account-sign) - Sign a message using your Aleo private key.
21+
- [`verify`](./01_account.md#leo-account-verify) - Verify a message and signature from an Aleo address.
22+
- [`add`](./02_add.md) - Add a new onchain or local dependency to the current project.
23+
- [`build`](./03_build.md) - Compile the current project.
24+
- [`clean`](./04_clean.md) - Clean the build and output artifacts.
25+
- [`debug`](./05_debug.md) - Run the interactive debugger in the current package.
26+
- [`deploy`](./06_deploy.md) - Deploy a program to the Aleo network.
27+
- [`devnet`](./07_devnet.md) - Initialize a local devnet.
28+
- [`execute`](./08_execute.md) - Execute a program and produce a transaction containing a proof.
29+
- [`new`](./09_new.md) - Create a new Leo project in a new directory.
30+
- [`query`](./10_query.md) - Query live data and state from the Aleo network.
31+
- [`block`](./10_query.md#leo-query-block) - Query block information.
32+
- [`transaction`](./10_query.md#leo-query-transaction) - Query transaction information.
33+
- [`program`](./10_query.md#leo-query-program) - Query program source code and live mapping values.
34+
- [`stateroot`](./10_query.md#leo-query-stateroot) - Query the latest stateroot.
35+
- [`committee`](./10_query.md#leo-query-committee) - Query the current committee.
36+
- [`mempool`](./10_query.md#leo-query-mempool) - Query transactions and transmissions from the memory pool.
37+
- [`peers`](./10_query.md#leo-query-peers) - Query peer information.
38+
- [`remove`](./11_remove.md) - Remove a dependency from the current project.
39+
- [`run`](./12_run.md) - Run a program without producing a proof.
40+
- [`test`](./13_test.md) - Run the test cases for a Leo project.
41+
- [`update`](./14_update.md) - Update to the latest version of Leo.
42+
- [`upgrade`](./15_upgrade.md) - Upgrade a deployed program on the Aleo network.
43+
- [`synthesize`](./16_synthesize.md) - Generate proving and verifying keys for a program.
44+
- [`fmt`](./17_fmt.md) - Format Leo source files.
4445

4546
## Universal Flags
47+
4648
These flags are available to use alongside all commands in the Leo CLI.
4749

4850
#### `--help`
51+
4952
#### `-h`
53+
5054
Prints available commands and flags.
5155

5256
#### `--version`
57+
5358
#### `-V`
59+
5460
Prints the currently installed version of Leo.
5561

5662
#### `-q`
63+
5764
Suppresses the CLI output.
5865

5966
#### `-d`
67+
6068
Prints out additional information for debugging if possible.
6169

6270
#### `--path <PATH>`
63-
Specifies the path to Leo program root folder. Defaults to `./`.
6471

65-
#### `--home <HOME>`
66-
Specifies the path to the `.aleo` program registry. This is where programs downloaded from the network will be cached. Defaults to `~/.aleo/registry`.
72+
Specifies the path to Leo program root folder. Defaults to `./`.
73+
74+
#### `--home <HOME>`
75+
76+
Specifies the path to the `.aleo` program registry. This is where programs downloaded from the network will be cached. Defaults to `~/.aleo/registry`.
6777

6878
#### `--json-output[=<PATH>]`
79+
6980
Saves structured JSON output to disk.
7081

7182
- **Default location**: `build/json-outputs/<command>.json`

0 commit comments

Comments
 (0)