miden-note-transport-node-bin

Crates.iomiden-note-transport-node-bin
lib.rsmiden-note-transport-node-bin
version0.2.0
created_at2025-11-07 21:21:03.743629+00
updated_at2026-01-24 16:53:08.158198+00
descriptionMiden Note Transport Node
homepagehttps://miden.xyz
repositoryhttps://github.com/0xMiden/miden-note-transport
max_upload_size
id1922195
size119,721
crate-publishers (github:0xmiden:crate-publishers)

documentation

README

Miden Note Transport Layer

LICENSE test RUST_VERSION

Overview

The Miden Note Transport service is a communications system focusing on performance and privacy for the secure exchange of private notes.

The system is based mostly on a request-reply client-server communication scheme, supporting end-to-end encryption. The (optionally encrypted) notes are stored on-server allowing for async note exchange between users.

Crates

This repository contains the following crates:

  • node: Node/server library;
  • proto: Protobuf definitions and generated code;

Binaries

This repository contains the following binaries, built upon the above crates:

  • node: Node/server implementation, wrapping the respective library;
  • cli: Client command-line-interface, wrapping the respective (Rust) library. Easy-to-use application able to send and fetch notes from the Transport Layer;
  • load-test: Load testing tool for the node implementation.

API Reference

Three main functions are used to interact with the Transport Layer:

  • send_note(note, address) allows a client to push a note, directed to a recipient (identified by its address), to the Transport Layer. The note is kept in the Transport Layer for a certain retention period (30 days);
  • fetch_notes(tag) allows a client to fetch notes associated with a certain tag;
  • stream_notes(tag) similarly to fetch_notes(), but the client subscribes to a tag and receives new notes periodically.

Telemetry

Metrics and Traces are provided for the node implementation. Data is exported using OpenTelemetry. A Docker-based setup is provided, with the following stack:

  • OpenTelemetry Collector;
  • Tempo (Traces);
  • Prometheus (Metrics);
  • Grafana (Visualization).

Contributing

At minimum, please see our contributing guidelines and our makefile for example workflows e.g. run the testsuite using

make test

Note that we do not accept low-effort contributions or AI generated code. For typos and documentation errors please rather open an issue.

License

This project is MIT licensed.

Commit count: 53

cargo fmt