@peerbit/network-rust
v0.1.2
Published
Native wire codec and batched signature verification for the Peerbit direct-stream envelope
Downloads
1,426
Readme
@peerbit/network-rust
Native (wasm-bindgen) wire codec and batched signature verification for the
Peerbit direct-stream envelope (peerbit_wire crate).
The crate decodes the borsh envelope from
@peerbit/stream-interface (DataMessage/ACK/Hello/Goodbye, all
delivery modes, multi-signature headers) byte-identically, applies the
signable-bytes rule (delivery mode and signatures are excluded from the
signed range) and batch-verifies sha256-prehashed Ed25519 signatures with
ed25519-dalek.
createNativeWire() returns a module whose decodeAndVerifyBatch plugs into
the nativeWire option of @peerbit/stream's DirectStream (default off;
the TS path is unchanged when disabled).
The crate also contains the native protocol cores (direct-stream state
machine, topic control plane, fanout tree, block exchange);
createRustCoreStream() implements the rustCore option of the
DirectStream family. See ARCHITECTURE.md for the
as-built architecture of the whole native network plane, including the
receive fusion hosted by @peerbit/native-backbone and the peerbit/rust
client preset.
Golden-vector parity tests against the TS implementation live in test/.
The codec-parity subset (wire, topic-control, fanout) also runs under
headless Chromium via npm run test:browser; the session-based specs are
node-only (they need TCP). A browser end-to-end smoke of rust-core mode
lives in packages/transport/stream/e2e/browser
(npm run test:rust-core there).
