# Step-by-Step Guide: How to Run an Aleo Node **Published by:** [Nataliiiiii](https://paragraph.com/@iamcryptogirl/) **Published on:** 2025-03-31 **URL:** https://paragraph.com/@iamcryptogirl/step-by-step-guide-how-to-run-an-aleo-node ## Content Aleo is a privacy-focused blockchain that leverages zero-knowledge proofs (ZKPs) to enable private smart contracts. Running a node allows you to participate in testnets, mining (Prover), and transaction validation. Below is an up-to-date guide for setting up an Aleo node on Ubuntu 20.04/22.04. 1. Server Requirements To run an Aleo node efficiently, you’ll need a dedicated server (VPS/Bare Metal) with: Minimum: CPU: 16 cores RAM: 16 GB SSD: 128 GB OS: Ubuntu 20.04/22.04 Recommended: CPU: 32 cores RAM: 32 GB Network: 10+ Mbps bandwidth Note: Some cloud providers (e.g., WebTropia) may block Aleo nodes—prefer dedicated servers (Hetzner, AWS, Oracle Cloud). 2. Install Dependencies 2.1. Update System sudo apt update && sudo apt upgrade -y sudo apt install wget jq git build-essential pkg-config libssl-dev -y 2.2. Install Rust (v1.65+) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source ~/.cargo/env rustc --version # Verify installation If an older Rust version is installed, remove it first: rustup self uninstall 3. Install the Aleo Node 3.1. Clone the snarkOS Repository git clone https://github.com/AleoHQ/snarkOS.git --depth 1 cd snarkOS 3.2. Build & Install For Ubuntu, use the helper script: ./build_ubuntu.sh cargo install --path . Note: Compilation may take 20–60 minutes depending on server specs. 4. Run the Node 4.1. Generate a Wallet Create a new Aleo account and save the private key securely: snarkos account new > $HOME/aleo_account.txt cat $HOME/aleo_account.txt Important: Save these details safely: Private Key – Required to run the node. View Key – Used to check transactions. Address – Used to receive rewards. 4.2. Start the Client ./run-client.sh 4.3. Start the Prover (Mining Mode) ./run-prover.sh When prompted, enter your private key from aleo_account.txt. 5. Useful Commands Check Logs: journalctl -u aleo-prover -f -o cat # Prover logs journalctl -u aleo-client -f -o cat # Client logs Manage Services: sudo systemctl restart aleo-prover # Restart Prover sudo systemctl stop aleo-client # Stop Client Uninstall Node: sudo systemctl stop aleo-prover rm -rf ~/snarkOS /usr/bin/snarkos 6. Additional Configurations 6.1. Auto-Start via systemd Create a systemd service for the Prover: sudo tee /etc/systemd/system/aleo-prover.service > /dev/null <<EOF [Unit] Description=Aleo Prover After=network-online.target [Service] User=$USER ExecStart=$(which snarkos) start --nodisplay --prover $(grep "Private Key" $HOME/aleo_account.txt | awk '{print $3}') Restart=on-failure RestartSec=10 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF Enable & start the service: sudo systemctl daemon-reload sudo systemctl enable aleo-prover sudo systemctl start aleo-prover 6.2. Open Firewall Ports Allow incoming connections: sudo ufw allow 4133/tcp # P2P port sudo ufw allow 3033/tcp # RPC port 7. Verify Node Sync Check if the node is synced: curl -s http://localhost:3033/testnet3/latest/height If it returns a block number, your node is running correctly. Tips: Monitor logs with journalctl. Use a separate wallet for testnets. Update the node regularly (git pull in snarkOS). For support, join the official Aleo Discord. 🚀 Links: Website ~ https://www.aleo.org/ Twitter ~ https://twitter.com/AleoHQ Community Twitter ~ https://twitter.com/aleocommunity GitHub ~ https://github.com/AleoHQ Community Forum — https://community.aleo.org/ Community Calendar ~ https://www.aleo.org/community/calendar YouTube — https://www.youtube.com/channel/UCS_HKT2heOC_q88YQLiJt0g Developer Documentation ~ https://developer.aleo.org/ Leo Playground ~ https://play.leo-lang.org/ Aleo Block Explorer ~ https://www.aleo.network/ Community Blog ~ https://medium.com/@AleoHQ Announcements Blog ~ https://www.aleo.org/blog ## Publication Information - [Nataliiiiii](https://paragraph.com/@iamcryptogirl/): Publication homepage - [All Posts](https://paragraph.com/@iamcryptogirl/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@iamcryptogirl): Subscribe to updates - [Twitter](https://twitter.com/Nataliiiii5445): Follow on Twitter