Running an Ergo Node on Android

Running an Ergo node directly on an Android device is possible and allows users without desktop access to participate more fully in the network, potentially using their own node for mobile wallets or dApps.

What is Android Node Setup?

This guide provides an overview of the methods available using the Termux terminal emulator. There are two primary approaches, depending on your needs and technical comfort level:

  1. Direct Termux Setup (Digest Mode): Recommended for most users. Runs the node directly within Termux. Best suited for the resource-efficient stateType="digest" mode. Simpler setup process.
  2. Arch Linux via proot (RocksDB/UTXO Mode): Advanced method. Required if you need to run stateType="utxo" (RocksDB) or encounter database compatibility issues. Involves running an Arch Linux environment within Termux to provide glibc compatibility for RocksDB. More complex setup and higher resource usage.

One-Click App Attempt

ErgoNodeAndroid is a community project attempting a one-click Ergo node app for Android, based on Termux scripts. It typically sets up a stateless/digest node. You may explore this as an alternative to manual setup.

Direct Termux Setup

Recommended for most users. Runs the node directly within Termux, best suited for the resource-efficient stateType="digest" mode.

  • Simpler setup process
  • Lower resource usage
  • Recommended for beginners

Arch Linux via proot

Advanced method required if you need to run stateType="utxo" or encounter specific database compatibility issues.

  • Full UTXO mode support
  • RocksDB compatibility
  • More complex setup

Device Requirements

Meeting these requirements is crucial for a stable experience on Android devices.

  • Android 7.0+ required
  • Minimum 1-2GB RAM
  • 5-10GB storage (digest mode)

Quick Setup

One-click script for easy setup that downloads the latest version and prompts for API key configuration.

  • Automated installation
  • Progress monitoring
  • API key setup

How Android Node Setup Works

Termux provides a Linux environment on Android, allowing you to run the Ergo node directly on your mobile device. The setup process involves installing Java, configuring the node, and managing resources appropriately.

Storage Requirements

Understanding storage requirements is crucial for choosing the right setup method for your device.

Digest Mode

Typically settles around ~3GB after sync with bootstrapping and moderate blocksToKeep.

  • • Initial: 5-10GB recommended
  • • After sync: ~3GB
  • • Suitable for most devices

UTXO Mode

Requires significantly more storage (tens of GBs) due to storing the UTXO set state.

  • • 30GB+ depending on pruning
  • • Full archival mode impractical
  • • Requires high-end devices

Tips and Tricks

Apply to both methods for optimal performance:

Keyboard

Consider installing Hacker's Keyboard from F-Droid if your default keyboard doesn't work well in Termux.

Background Operation

Install tmux to run the node in a background session that persists even if you close Termux.

Port Forwarding

Configure port forwarding for TCP port 9030 on your router to make your node reachable by external peers.

Wallet Connection

Change Ergo Wallet App node setting to http://127.0.0.1:9053 to connect to your local node.

Troubleshooting

If the node fails to start, check these common issues:

Java Issues

  • • Correct Java version installed
  • • Check with java --version
  • • Sufficient memory via -Xmx

Configuration Issues

  • • Correct Ergo node JAR file
  • • Syntax errors in ergo.conf
  • • Sufficient storage space