# Getting started with Amareleo-Chain: a lightweight development node for Aleo

By [Colliseum](https://paragraph.com/@colliseum) · 2025-02-21

---

Hello, my name is Heorhii, and today I’m excited to introduce you to **Amareleo-Chain** —an open-source toolset that aims to make developing and testing Aleo programs much simpler. Amareleo-Chain provides a lightweight development node that serves as a drop-in replacement for snarkOS/devnet.sh, allowing you to deploy and test your Leo programs locally with ease.

**Amareleo-Chain** _is designed specifically for Leo developers._ At its core, it offers a streamlined experience for starting a local Aleo testnet. The goal is to reduce complexity by running a single process that consumes minimal memory and CPU, provides rapid startup and shutdown times, and ensures you always begin testing with a fresh chain state—unless you choose to keep it across sessions.

This tool is particularly beneficial during development and testing phases when you need a quick and efficient environment to validate your Leo programs before moving to more complex testnet or mainnet setups.

**Key advantages of Amareleo-Chain:**

*   **Ease of use.** Simply run `amareleo-chain start` to launch a development testnet. No extra scripts or multiple processes are needed.
    
*   **Lightweight.** It operates as a single process, reducing resource consumption.
    
*   **Fast startup/shutdown.** Enjoy drastically reduced startup and shutdown times compared to traditional setups.
    
*   **Fresh chain state.** Start testing with a clean slate, or opt to retain the chain state for consecutive tests using the `--keep-state` flag.
    
*   **Compatibility.** Works seamlessly with other Aleo tools, such as snarkOS and Leo.
    

**1\. Installation.** You can install Amareleo-Chain either from source or via crates.io using Cargo. For new machines, installing from source is recommended as it also ensures all dependencies are correctly installed.

More info you can find here:

[https://developer.aleo.org/guides/amareleo/install](https://developer.aleo.org/guides/amareleo/install)

*   **Prerequisites.** Amareleo-Chain has been tested on machines with modest specifications. For example, a setup on Ubuntu 22.04 with an 11th Gen Intel Core i7, 16GB of RAM, and a 512GB SSD has been sufficient for testing.
    
*   **Install from source.** Ensure you have Rust v1.81+ installed (instructions available on rust-lang.org). Then, clone and install Amareleo-Chain:
    

    git clone https://github.com/kaxxa123/amareleo-chain.git
    cd amareleo-chain
    ./build_ubuntu.sh
    

After building, confirm the installation by running:

    amareleo-chain help
    

**2\. Running Amareleo-Chain**. Once installed, starting Amareleo-Chain is straightforward. You have two modes:

*   **Fresh chain mode.** To start a new testnet from genesis (a fresh chain state), run:
    

    amareleo-chain start
    

This mode discards the chain state upon exit, ensuring you always start from a clean slate.

*   **Keep-state mode.** If you want to retain the chain state across multiple runs (ideal for iterative testing), use:
    

    amareleo-chain start --keep-state
    

In keep-state mode, the chain state persists between runs, meaning that if you terminate the node (using CTRL-C, for example) and later restart it with the same flag, the chain will resume from where it left off.

For instance:

*   Start with keep-state:
    
        amareleo-chain start --keep-state
        
    
    Suppose the chain reaches block 100.
    
*   Terminate the process.
    
*   Restart with keep-state:
    
        amareleo-chain start --keep-state
        
    
    The chain will continue from block 100.
    

To reset the state completely, use the clean command:

    amareleo-chain clean
    

**Comparison with snarkOS.** Amareleo-Chain is designed to feel very similar to running snarkOS with the devnet.sh script but with notable differences:

*   **Single process.** Amareleo-Chain runs as a single process, reducing resource overhead.
    
*   **Simplified configuration.** It only requires a single REST port (default: 3030), with fewer configuration options.
    
*   **State management.** It introduces the `--keep-state` flag for persistent state across runs, which snarkOS does not natively support.
    
*   **Command simplicity.** It supports just three primary commands: `start`, `clean`, and `update`, aligning closely with common development workflows.
    

More differences are here:

[https://developer.aleo.org/guides/amareleo/differences](https://developer.aleo.org/guides/amareleo/differences)

**Conclusion.** Amareleo-Chain offers a straightforward, lightweight alternative for developers looking to test and deploy Aleo programs. Its ease of use, fast startup times, and flexible state management make it an excellent tool for rapid development and testing. By simplifying the process of setting up a local testnet, Amareleo-Chain empowers you to focus on building innovative, privacy-preserving applications on Aleo without being bogged down by complex infrastructure.

Give Amareleo-Chain a try, and enjoy a smoother, more efficient development experience on Aleo. Happy coding!

_To know more about Aleo, join now!_

> *   _Aleo_ [_Twitter_](https://twitter.com/aleohq)
>     
> *   _Aleo_ [_Discord_](https://discord.gg/aleo)
>     
> *   _Aleo_ [_Website_](https://www.aleo.org/)
>     
> *   _List of_ [_Aleo and Leo code and resourses_](https://github.com/howardwu/awesome-aleo#%EF%B8%8F-a-curated-list-of-aleo--leo-code-and-resources-%EF%B8%8F)
>     

Prepared by Colliseum

---

*Originally published on [Colliseum](https://paragraph.com/@colliseum/getting-started-with-amareleo-chain-a-lightweight-development-node-for-aleo)*
