micronet-antenna
micronet-antenna is a Rust crate that provides the "spirit" of a network-native micronation kernel: identity, proposal/vote flows, and global-state synchronization primitives.
This repository is a multi-crate workspace:
micronet-antenna-core(deterministicno_std + alloccore)micronet-antenna(std wrapper + UDP transport + CLI)micronet-live(TUI multi-node simulation demo,publish = false)micronet-os(Micronation OS composition onos_kernel_foundry,publish = false)foundry-demo(integration example)
Vision (network-native micronation)
- The boot is a connection: nodes discover peers.
- The territory is synthetic: aggregate compute across online citizens.
- Citizenship is a shared runtime: being online participates in consensus.
- Bureaucracy becomes syscalls: proposals and votes unlock shared capabilities.
Status
This is an early, minimal, well-documented foundation:
- Deterministic message types (proposal / vote / heartbeat)
- Stable identities (
NodeId) and proposal ids (ProposalId) - Replicated state model (
GlobalState) + deterministic transition function (Runtime::apply) - Consensus decision derivation via vote rule (simple majority)
- Std-only adapters:
- UDP transport (postcard)
- CLI demo binary
- Demos:
micronet-liveTUI with failure scenariosmicronet-osinteractive shell + replay/persistence
Not (yet) production-grade:
- cryptographic identity/signatures
- stable protocol versioning
- byzantine fault tolerance
Micronation OS (built on os_kernel_foundry)
This repository is not just an integration example: it contains an actual Micronation OS composition.
micronet-os/(workspace member,publish = false)
See:
docs/USER_MANUAL.mddocs/07_integrations/os_kernel_foundry.md
micronet-os shell commands (high-level)
help,status,listhello,heartbeatpropose <kind> <payload...>,vote <proposal_id_hex> <yes|no>export-statereplay [n]save-log <path>,load-log <path>
Ultra-detailed manual
docs/USER_MANUAL.md
Project docs policy
CONTRIBUTING.mddocs/MAINTAINERS_GUIDE.mddocs/CHANGELOG.md
Install
Workspace layout
- If you need
no_std, depend onmicronet-antenna-core. - If you want transports + demos, use
micronet-antenna(std).
Quick start (library)
use ;
let mut rt = new_random;
let p = new;
rt.submit_proposal;
let state: &GlobalState = rt.state;
assert!;
Quick start (CLI)
UDP demo (two terminals)
Terminal A:
Terminal B:
Micronation Live (TUI demo)
From the workspace root:
Controls:
q: quit←/→: select nodep: proposeh: broadcast heartbeatv: toggle node auto-vote policyx: partition/heal scenariol: cycle packet loss rated: cycle delivery delay/latency
Useful workspace commands
Licensing
MIT.
Attribution: implemented by the repository author from an idea by alisio85 (see NOTICE).