Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Personal RNS (Prns)
This crate is one package in the Personal RNS public Rust graph. Quick overviews, the complete feature guide, API documentation, examples, and the cross-language SDK overview are available at prns.dev or reticulum.rs, and in the source repository.
All public packages use the same engine, release version, and dual MIT/Apache-2.0 license.
Rust SDK
personal-rns brings the pure Reticulum engine, the high-level runtime, and every interface family behind one crate and one prelude. The core is no_std and does not require alloc; applications opt into the runtime and interfaces their target can actually provide.
Install
For a Tokio application using TCP:
cargo add personal-rns --features tokio-host,tcp
For the exact source behind the public 0.3.4 prerelease:
cargo add personal-rns --git https://github.com/KenAKAFrosty/Prns --features tokio-host,tcp
The default feature set is intentionally thin. Choose tokio-host for native async applications or embassy-host for embedded async applications, then enable the interface families the application uses.
Run the first complete journey
From a source checkout:
./tools/prns doctor getting-started
cargo tools guide rust-basics
(On Windows, run the doctor as .\tools\prns.cmd doctor getting-started.)
That example creates two nodes, binds an isolated local TCP connection, announces a real destination, verifies the signed announce on the second node, and exits on a bounded success condition. Its complete source is examples/node_basics.rs.
The Getting Started guide explains the recipe and then removes the explicit address through automatic LAN discovery. The example catalog continues through transport, request and response, typed application state, resource transfer, live interface changes, and persistence.
Runtime shape
A PrnsNodeRecipe declares the node's destinations, storage, event handler, interfaces, persistence, and application state. PrnsNode::new produces the running node, while its handle issues commands and changes interfaces without moving protocol ownership out of the runtime.
The public prelude is the normal application entrance:
use *;
Feature names keep platform costs explicit. Common choices include:
| Need | Features |
|---|---|
| Native async host | tokio-host |
| Embedded async host | embassy-host |
| TCP | tcp |
| Automatic LAN discovery | wifi-auto |
| Serial, KISS, AX.25 KISS, or RNode | serial, kiss, ax25, rnode |
| WebSocket or I2P | websocket, i2p |
| USB or Bluetooth discovery | usb, bluetooth-auto |
| LoRa or ESP-NOW on embedded targets | lora, esp-now |
See the complete SDK guide for release readiness and the embedded guide for allocation-free and hardware-backed targets.
Personal RNS is dual licensed under MIT or Apache-2.0.