Rust tooling for Ouroboros Leios, extracted from input-output-hk/ouroboros-leios with full per-directory git history preserved.
This repository contains three independent Cargo workspaces:
shared-rs/— shared crates (consensus, including the behaviour-tree engine + actuators, andtcp-model) used by the other two.net-rs/— networking building blocks (net-codec,net-core,net-cli).sim-rs/— the Rust Leios simulator (sim-core,sim-cli).
net-rs and sim-rs depend on shared-rs via relative ../../shared-rs/...
path dependencies, so the directory layout above must be preserved.
Live-network / adversarial tooling (
net-node,net-cluster,net-ui) and the behaviour-tree definitions (behaviours/) live in the separate, privateleios-adversarial-toolsrepository. The simulator here is safe: it never connects to a real network. Behaviour-tree*.tomlconfigs are generated on demand from that private repo and are never committed here.
A few files outside the workspaces are kept, with their original paths intact:
data/simulation/config.default.yaml,config.schema.json— the default parameters and schema.sim-rs/parameters/*symlinks resolve to these via../../data/simulation/..., so the relative layout must be kept.data/simulation/pseudo-mainnet/topology-v*— the pseudo-mainnet topology family used as simulator inputs..github/workflows/sim-rs.yaml— CI for the sim-rs build.
Each workspace builds independently from its own directory, e.g.:
cd shared-rs && cargo build
cd net-rs && cargo build
cd sim-rs && cargo buildApache-2.0. See LICENSE.