Repolode
aleo-labs-protocol

aleo-labs-protocol/snarkOS

A decentralized operating system and node software that runs the Aleo network for zero-knowledge applications.

Stars
4,530
Forks
2,697
Open issues
131
Last commit
23 hours ago

What is it?

snarkOS is the node implementation behind the Aleo network, a blockchain for zero-knowledge applications. It verifies transactions and stores encrypted application state in a publicly verifiable way. The software runs in three node roles: validators that take part in AleoBFT consensus, clients that keep a copy of the ledger and relay transactions and solutions, and provers that solve the Aleo puzzle without maintaining the ledger.

The project is written in Rust and installed from source with cargo. It provides a snarkos CLI for starting nodes, creating and signing with Aleo accounts, and a REST server on port 3030 for clients. Validators can expose telemetry and Prometheus metrics, and a local devnet can be launched with a script for testing multiple nodes on one machine.

Node operators need substantial hardware: validators are specified with 64 or more cores, 256 GiB of RAM and several terabytes of NVMe storage. The repository also includes local backup tooling based on RocksDB checkpoints and documentation for migrating older storage formats.

Key features

  • 01Runs validator, client and prover node roles for the Aleo network.
  • 02Provides the snarkos CLI for starting nodes and managing Aleo accounts.
  • 03Exposes a REST server for clients and validator telemetry endpoints.
  • 04Includes a local devnet script for running multiple nodes on one machine.
  • 05Offers RocksDB-based local backups that use hard links to save space.

Use cases

  • Operating a validator or client node on the Aleo network.
  • Contributing proving capacity as a prover node.
  • Testing multi-node Aleo behavior on a local devnet.
  • Studying the consensus and networking code of a zero-knowledge blockchain.

Quick start

  1. 1

    Install Rust (see the Rust installation link in the README)

  2. 2

    Clone the mainnet branch of the repository

    git clone --branch mainnet --single-branch https://github.com/ProvableHQ/snarkOS.git
  3. 3

    Install snarkOS from the cloned directory

    cargo install --locked --path .
  4. 4

    Start a client node (run from any directory after install)

    snarkos start --client --nodisplay --node 0.0.0.0:4130 --peers "core_client_ip_1:4130,core_client_ip_2:4130,core_client_ip3:4130,outer_client_ip_1:4130,..." --verbosity 1 --rest 0.0.0.0:3030

Things to know

  • Ubuntu, macOS and Windows are the only supported client platforms, and validators require Ubuntu 22.04.
  • Running a node needs very large hardware, such as 128GiB+ RAM and multi-terabyte storage for clients.
  • The CUDA prover feature is experimental and may have breaking changes.

Topics

FAQ

What is snarkOS?
A decentralized operating system and node software that runs the Aleo network for zero-knowledge applications. snarkOS is the node implementation behind the Aleo network, a blockchain for zero-knowledge applications. It verifies transactions and stores encrypted application state in a publicly verifiable way. The software runs in three node roles: validators that take part in AleoBFT consensus, clients that keep a copy of the ledger and relay transactions and solutions, and provers that solve the Aleo puzzle without maintaining the ledger.
Is snarkOS free to use? What license does it have?
snarkOS is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is snarkOS still maintained?
Actively maintained. The last commit to snarkOS was on Nov 6, 2026.
What can I use snarkOS for?
Operating a validator or client node on the Aleo network. Contributing proving capacity as a prover node. Testing multi-node Aleo behavior on a local devnet. Studying the consensus and networking code of a zero-knowledge blockchain.
How do I install snarkOS?
Install Rust (see the Rust installation link in the README) Clone the mainnet branch of the repository: git clone --branch mainnet --single-branch https://github.com/ProvableHQ/snarkOS.git Install snarkOS from the cloned directory: cargo install --locked --path . Start a client node (run from any directory after install): snarkos start --client --nodisplay --node 0.0.0.0:4130 --peers "core_client_ip_1:4130,core_client_ip_2:4130,core_client_ip3:4130,outer_client_ip_1:4130,..." --verbosity 1 --rest 0.0.0.0:3030
Where can I get snarkOS?
The source code and installation instructions are on GitHub: https://github.com/aleo-labs-protocol/snarkOS

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects