Amaru is a Cardano node client written in Rust. It is an ambitious project which aims to bring more diversity to the infrastructure operating the Cardano network.
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.
cargo build --release
- Import a ledger snapshot:
cargo run --release -- import \
--date 68774372.36f5b4a370c22fd4a5c870248f26ac72c0ac0ecc34a42e28ced1a4e15136efa4 \
--snapshot 68774372-36f5b4a370c22fd4a5c870248f26ac72c0ac0ecc34a42e28ced1a4e15136efa4.cbor \
--out ledger.db
- Setup observability backends:
docker-compose -f monitoring/jaeger/docker-compose.yml up
- Run the node:
AMARU_DEV_LOG=error cargo run --release -- daemon \
--peer-address=127.0.0.1:3000 \
--network=preprod
Tip
Replace --peer-address
with your Cardano node peer address. It can be either
a local or remote node (i.e. any existing node relay).
See monitoring/README.md.
Amaru is the integration point of several other projects / repositories. Amongst them, we find in particular:
Repository | Purpose |
---|---|
txpipe/pallas | Hosts many Rust primitives and building blocks for the node already powering tools like Dolos. In particular, the networking and serialization logic. |
pragma-org/ouroboros | Rust libraries/building blocks to implement an Ouroboros (Praos & Genesis) consensus. |
pragma-org/uplc | A highly performant UPLC parser and CEK machine. |
⛵ Roadmap | 📐 Contributing | Discord