Skip to main content

Crate urma_node

Crate urma_node 

Source
Expand description

Optional archive engine. Opening an archive performs no network operations. Applications may use their existing sources without depending on this crate or running the standalone service.

Modules§

archive
Transactional archive owned by one process. Readers use the owning engine or its API; consumers never open the service database for independent writes.
cache
Soft limits for reclaimable local multipart evidence, not disk quotas. Each maintenance step returns a model::CacheReceipt.
client
Optional, explicitly configured loopback client. No daemon is started and no DNS, proxy, environment configuration or chain source is consulted.
config
Built-in defaults that need one home. Seeds are DNS names whose records the operator publishes; the daemon dials whatever they resolve to. Regtest and Bitcoin test chains have no seeds.
daemon
The archive daemon shared by serve and urma-node service run.
engine
install
model
Shared local API models, with archive-only capabilities kept in this crate.
names
Shared local Names projection data; no independent proof or coverage claim.
peer
Explicitly started URMA peer transport. Noise authenticates the remote transport identity; packages still need independent Engine admission. There are no built-in seeds, wallet keys or implicit listeners. Names in explicitly dialed /dns* addresses resolve through the system resolver.
peer_codec
Bounded framing for untrusted peer JSON. No record or chain verification. The request-response layer owns timeouts, including waiting for stream EOF.
peer_discovery
Bitcoin-style peer discovery. Seeds bootstrap a sparse book; afterwards connected peers exchange verified addresses. A dial proves only that a Noise identity on this chain answered at an address: never record availability or honesty. Each Service round performs at most three network operations and checks cancellation between them.
peer_gossip
Peer gossip and explicit dialing. Gossiped addresses are untrusted routing hints; a dial proves only the remote transport identity, and the Peers probe that follows it only that the peer speaks this protocol on the same chain.
peer_live
The overlay peers that inventory sync, parent recovery and record retrieval use right now: configured peers always, then every connected peer that spoke this protocol version on our chain, inbound or outbound. A connected peer leaves the set with its last connection.
peer_protocol
Untrusted selective exchange, separate from the authenticated local control API. Transport identity proves which peer answered, not chain membership, record validity or completeness. URMA V0 records and proofs are unchanged.
peer_sync
Fast inventory synchronization from configured URMA peers. A peer page is an untrusted claim: every fetched package is proof-verified by admit_record against the independently selected header chain, and coverage is recorded only after a complete range has every advertised record present locally. Full-block audit (indexed_through) remains the separate, stronger claim. A peer that answers with an invalid page, package or reply is disconnected and backed off; one that stays Busy for many turns is disconnected so the connection slot it holds frees up for others. So is one that answers turn after turn without anything we can use (stale listings, unscanned pages), and a peer refused by the local connection limit gets the slot of the connected peer that progressed longest ago.
peerbook
Bounded peer book: explicit routing hints, configured seeds and addresses learned from peers. Every entry is an untrusted hint, never chain evidence or a statement of record availability. Nothing here resolves names, dials or starts networking; the caller owns the directory, its lock and saves.
platform
Per-OS service paths, settings and first-install state (URMA_NODE_INSTALL.md §2–§3).
projection
Local index DTOs shared with optional application clients.
retrieval
On-demand content acquisition. Sources supply untrusted packages; the local engine supplies the independently selected chain view. Missing peers do not imply missing chain data: a known locator can fall back to full witness blocks.
service
Small authenticated loopback control surface. The archive engine remains usable directly; HTTP is not a prerequisite for embedded applications.
source

Enums§

DialLimit
Which local admission limit refused a connection.
Error