README.md

June 25, 2026 ยท View on GitHub

Amaru

A Cardano node client written in Rust.

Licence Twitter/X Discord


Getting Started

Warning

Amaru is still in an exploratory phase. Our development strategy favors early integration of components, so that progress is instantly visible, even though features might be limited or incomplete.

Installing

Docker Image

docker pull ghcr.io/pragma-org/amaru:v10.10.20260625

Important

The tag :latest refers to the latest nightly build; not the latest release.

Homebrew (macOS & Linux)

brew tap pragma-org/amaru https://github.com/pragma-org/amaru && brew trust --tap pragma-org/amaru
brew install amaru

Nix (macOS & Linux)

nix profile install --no-write-lock-file github:pragma-org/amaru#amaru

Debian

VERSION=10.10.20260625 ARCH=x86_64; curl -fsSL -o amaru-$VERSION-linux-$ARCH.deb "https://github.com/pragma-org/amaru/releases/download/v$VERSION/amaru-$VERSION-linux-$ARCH.deb"
VERSION=10.10.20260625 ARCH=x86_64; sudo apt install amaru-$VERSION-linux-$ARCH.deb

Also available for ARCH=aarch64. The Debian package installs a systemd unit and reads overrides from /etc/default/amaru.

RPM

VERSION=10.10.20260625 ARCH=x86_64; curl -fsSL -o amaru-$VERSION-linux-$ARCH.rpm "https://github.com/pragma-org/amaru/releases/download/v$VERSION/amaru-$VERSION-linux-$ARCH.rpm"
VERSION=10.10.20260625 ARCH=x86_64; sudo dnf install amaru-$VERSION-linux-$ARCH.rpm

Also available for ARCH=aarch64. The RPM package installs a systemd unit and reads overrides from /etc/sysconfig/amaru.

Manual installation: pre-compiled executables

You can install Amaru "manually" by downloading an archive with pre-compiled (statically linked) executables for all usual platforms (Linux, macOS & Windows). The archives come with shell completions scripts.

See either:

Building from sources

make build

Tip

Prefer not to install Rust locally? We provide a Docker-based build and run path. See docker/README.md for instructions on using Docker instead.

Running

Important

These instructions assume one starts from scratch, and has access to a synced cardano-node on the selected network (e.g. preprod).

Although you may explicitly provide peers, Amaru will automatically infer some peers from the ledger state. To run a local peer, refer to Cardano's developers portal.

  1. Bootstrap the node:
make AMARU_NETWORK=preprod bootstrap
  1. (Optional) Setup observability backends:
docker-compose -f monitoring/jaeger/docker-compose.yml up
  1. Run Amaru:
make AMARU_NETWORK=preprod start

Tip

To ensure logs are forwarded to an OpenTelemetry backend, set AMARU_WITH_OPEN_TELEMETRY=true:

make AMARU_NETWORK=preprod AMARU_WITH_OPEN_TELEMETRY=true start

Monitoring

See monitoring/README.md.


:boat: Roadmap | :triangular_ruler: Contributing | ๐Ÿ“ฐ ChangeLog