prism-protocol defines the shared wire types and cryptographic messages used
by Prism Network nodes, gateways, control-plane services and proof publishers.
The protocol is pre-production. Version 0.1.x may change incompatibly while
hardware validation and external integrations remain incomplete. It must not
be used as evidence that funded network operation is production-ready.
- Device-derived node identifiers.
- Signed node enrollment and telemetry messages.
- Signed tunnel registration and certificate requests.
- Signed command polling and command-result reports.
- Lease, access-grant and settlement-evidence types.
- Canonical public settlement receipts and receipt hashing.
- Encrypted short-lived credential envelopes.
- Robinhood Chain and launch-cap constants.
Signature payloads are domain-separated and encoded according to
docs/WIRE_PROTOCOL.md. Public receipt fields and
hashing are specified in docs/RECEIPTS.md.
[dependencies]
prism-protocol = { git = "https://github.com/prismnetwork-tech/prism-protocol", tag = "v0.1.0" }use ed25519_dalek::SigningKey;
use prism_protocol::{NodeTelemetry, UnsignedTelemetry, node_id};
let key = SigningKey::generate(&mut rand::rngs::OsRng);
let device_id = node_id(&key.verifying_key());Versions are tagged as vX.Y.Z. Package-registry distribution is not yet
available; consumers must pin a release tag and should continue pinning a
compatible minor version until the protocol reaches 1.0.
The repository pins its Rust toolchain. Run:
./scripts/validate.shThat gate formats, lints, tests, documents, audits and packages the crate.
Protocol compatibility does not prove correct GPU execution, confidential
computing, honest supplier behavior or correct onchain settlement. Read
SECURITY.md before integrating.
Code and documentation are licensed under the Apache License 2.0. The Prism Network name and visual identity are governed separately.