#aranya #daemon #peer #syncing #user #effect #policy

bin+lib aranya-daemon

Daemon process for syncing with Aranya peers and maintaining the DAG

2 unstable releases

new 0.2.0 Nov 12, 2024
0.1.0 Oct 16, 2024

#3 in #aranya

Download history 180/week @ 2024-10-14 9/week @ 2024-10-21 18/week @ 2024-11-04 117/week @ 2024-11-11

153 downloads per month
Used in aranya-client

AGPL-3.0-only

120KB
2.5K SLoC

Aranya Daemon

Crates.io License

Overview

The Aranya Daemon is a long-running executable that is used to maintain the state of Aranya after adding commands to the graph or syncing commands from other peers by interacting directly with the Aranya Core library. See here for details on the Aranya functionality available through the daemon.

The daemon's responsibilities include:

  • Periodically syncing state between networked Aranya peers to ensure they all have consistent state. This includes the ability to add and remove sync peers, available to your application through the Rust Client library.
  • Invokes actions received from the client and handles effects from the Aranya Core library. See the walkthrough for more details.
  • Generates and maintains cryptographic keys for encrypting and decrypting data for Aranya and Fast Channels

Note: The Aranya Daemon supports a single user. As such, device and user may be used interchangeably throughout the code base.

Configuration

Create a config file for the daemon before running it. Refer to this documentation on the JSON config file parameters: config.

An example daemon configuration file can be found here.

Running the daemon

Build and run the daemon crate:

$ cargo build --bin daemon --release
$ ./target/release/daemon <path to config>

Dependencies

~31–44MB
~717K SLoC