Allow access to node.socket from non-elevated processes
Home /
Input Output /
ouroboros-leios-sim
Feb 12, 11-12 PM (0)
Feb 12, 12-1 PM (0)
Feb 12, 1-2 PM (0)
Feb 12, 2-3 PM (0)
Feb 12, 3-4 PM (0)
Feb 12, 4-5 PM (0)
Feb 12, 5-6 PM (0)
Feb 12, 6-7 PM (0)
Feb 12, 7-8 PM (0)
Feb 12, 8-9 PM (0)
Feb 12, 9-10 PM (0)
Feb 12, 10-11 PM (0)
Feb 12, 11-12 AM (0)
Feb 13, 12-1 AM (0)
Feb 13, 1-2 AM (0)
Feb 13, 2-3 AM (0)
Feb 13, 3-4 AM (0)
Feb 13, 4-5 AM (0)
Feb 13, 5-6 AM (0)
Feb 13, 6-7 AM (0)
Feb 13, 7-8 AM (0)
Feb 13, 8-9 AM (0)
Feb 13, 9-10 AM (0)
Feb 13, 10-11 AM (0)
Feb 13, 11-12 PM (0)
Feb 13, 12-1 PM (0)
Feb 13, 1-2 PM (0)
Feb 13, 2-3 PM (8)
Feb 13, 3-4 PM (1)
Feb 13, 4-5 PM (5)
Feb 13, 5-6 PM (0)
Feb 13, 6-7 PM (0)
Feb 13, 7-8 PM (0)
Feb 13, 8-9 PM (0)
Feb 13, 9-10 PM (0)
Feb 13, 10-11 PM (0)
Feb 13, 11-12 AM (0)
Feb 14, 12-1 AM (0)
Feb 14, 1-2 AM (0)
Feb 14, 2-3 AM (0)
Feb 14, 3-4 AM (0)
Feb 14, 4-5 AM (15)
Feb 14, 5-6 AM (0)
Feb 14, 6-7 AM (0)
Feb 14, 7-8 AM (0)
Feb 14, 8-9 AM (0)
Feb 14, 9-10 AM (0)
Feb 14, 10-11 AM (0)
Feb 14, 11-12 PM (0)
Feb 14, 12-1 PM (0)
Feb 14, 1-2 PM (0)
Feb 14, 2-3 PM (0)
Feb 14, 3-4 PM (0)
Feb 14, 4-5 PM (0)
Feb 14, 5-6 PM (0)
Feb 14, 6-7 PM (0)
Feb 14, 7-8 PM (0)
Feb 14, 8-9 PM (0)
Feb 14, 9-10 PM (0)
Feb 14, 10-11 PM (0)
Feb 14, 11-12 AM (0)
Feb 15, 12-1 AM (0)
Feb 15, 1-2 AM (0)
Feb 15, 2-3 AM (0)
Feb 15, 3-4 AM (0)
Feb 15, 4-5 AM (0)
Feb 15, 5-6 AM (0)
Feb 15, 6-7 AM (0)
Feb 15, 7-8 AM (0)
Feb 15, 8-9 AM (0)
Feb 15, 9-10 AM (0)
Feb 15, 10-11 AM (0)
Feb 15, 11-12 PM (0)
Feb 15, 12-1 PM (0)
Feb 15, 1-2 PM (0)
Feb 15, 2-3 PM (0)
Feb 15, 3-4 PM (0)
Feb 15, 4-5 PM (0)
Feb 15, 5-6 PM (0)
Feb 15, 6-7 PM (0)
Feb 15, 7-8 PM (0)
Feb 15, 8-9 PM (0)
Feb 15, 9-10 PM (0)
Feb 15, 10-11 PM (0)
Feb 15, 11-12 AM (0)
Feb 16, 12-1 AM (0)
Feb 16, 1-2 AM (0)
Feb 16, 2-3 AM (0)
Feb 16, 3-4 AM (0)
Feb 16, 4-5 AM (0)
Feb 16, 5-6 AM (0)
Feb 16, 6-7 AM (0)
Feb 16, 7-8 AM (0)
Feb 16, 8-9 AM (0)
Feb 16, 9-10 AM (0)
Feb 16, 10-11 AM (0)
Feb 16, 11-12 PM (0)
Feb 16, 12-1 PM (0)
Feb 16, 1-2 PM (0)
Feb 16, 2-3 PM (0)
Feb 16, 3-4 PM (0)
Feb 16, 4-5 PM (0)
Feb 16, 5-6 PM (0)
Feb 16, 6-7 PM (0)
Feb 16, 7-8 PM (0)
Feb 16, 8-9 PM (0)
Feb 16, 9-10 PM (0)
Feb 16, 10-11 PM (0)
Feb 16, 11-12 AM (0)
Feb 17, 12-1 AM (0)
Feb 17, 1-2 AM (0)
Feb 17, 2-3 AM (0)
Feb 17, 3-4 AM (0)
Feb 17, 4-5 AM (0)
Feb 17, 5-6 AM (0)
Feb 17, 6-7 AM (0)
Feb 17, 7-8 AM (3)
Feb 17, 8-9 AM (0)
Feb 17, 9-10 AM (0)
Feb 17, 10-11 AM (0)
Feb 17, 11-12 PM (0)
Feb 17, 12-1 PM (0)
Feb 17, 1-2 PM (0)
Feb 17, 2-3 PM (0)
Feb 17, 3-4 PM (3)
Feb 17, 4-5 PM (1)
Feb 17, 5-6 PM (2)
Feb 17, 6-7 PM (1)
Feb 17, 7-8 PM (0)
Feb 17, 8-9 PM (0)
Feb 17, 9-10 PM (0)
Feb 17, 10-11 PM (1)
Feb 17, 11-12 AM (0)
Feb 18, 12-1 AM (0)
Feb 18, 1-2 AM (0)
Feb 18, 2-3 AM (0)
Feb 18, 3-4 AM (0)
Feb 18, 4-5 AM (0)
Feb 18, 5-6 AM (0)
Feb 18, 6-7 AM (0)
Feb 18, 7-8 AM (0)
Feb 18, 8-9 AM (0)
Feb 18, 9-10 AM (0)
Feb 18, 10-11 AM (0)
Feb 18, 11-12 PM (0)
Feb 18, 12-1 PM (0)
Feb 18, 1-2 PM (0)
Feb 18, 2-3 PM (0)
Feb 18, 3-4 PM (2)
Feb 18, 4-5 PM (0)
Feb 18, 5-6 PM (2)
Feb 18, 6-7 PM (2)
Feb 18, 7-8 PM (8)
Feb 18, 8-9 PM (0)
Feb 18, 9-10 PM (1)
Feb 18, 10-11 PM (0)
Feb 18, 11-12 AM (0)
Feb 19, 12-1 AM (0)
Feb 19, 1-2 AM (0)
Feb 19, 2-3 AM (0)
Feb 19, 3-4 AM (0)
Feb 19, 4-5 AM (0)
Feb 19, 5-6 AM (0)
Feb 19, 6-7 AM (0)
Feb 19, 7-8 AM (39)
Feb 19, 8-9 AM (4)
Feb 19, 9-10 AM (0)
Feb 19, 10-11 AM (2)
Feb 19, 11-12 PM (0)
100 commits this week
Feb 12, 2026
-
Feb 19, 2026
Parse RB/EB generated and render according to bandwidth
feat(viz): add block/EB diffusion animations and matrix layout
- Animate RB (gold square) and EB (cyan diamond) diffusion on canvas - Add certified/uncertified EB stats and new event log kinds - Remove graphology dependency (viz uses sim's topology directly) - Add matrix layout type stub - Add validate-theory experiment script
Guard more things in nix only for 64bit linux
Use a more recent version for the tx-generator
Dockerfile fixes due to dropped/renamed config files
Remove cabal.project sed patching from Dockerfiles
The ouroboros-consensus source-repository-package reference has moved upstream (now e8fb792f), making the sed for the old tag (8f0e1423) a no-op. Remove it from both Dockerfile.cardano-node-bp and Dockerfile.cardano-node. The latest leios-prototype also auto-creates leios.db, so drop that from init-node0.sh. Signed-off-by: Chris Gianelloni <[email protected]>
Alloy config cardano-node labels and severity
Extract sev, ns, host, and thread labels from cardano-node JSON logs and add static service/type labels. This matches the demo x-ray config and enables the hard-coded Loki query in the UI to work. Signed-off-by: Chris Gianelloni <[email protected]>
Remove IB (Input Block) references from analysis
IBs no longer exist in the current Leios protocol design. Remove IB tracking from analyse.py metrics and entrypoint-analysis.py assertions. Signed-off-by: Chris Gianelloni <[email protected]>
Bind cardano-node to specific IP
Use HOST_ADDR environment variable so connection logs show the actual node IP, making it easier to infer traffic direction from log entries. Signed-off-by: Chris Gianelloni <[email protected]>
Remove legacy sim-rs Antithesis configuration
These files were from the previous Antithesis setup that ran sim-rs and are no longer used by the new cardano-node-based stacks. Signed-off-by: Chris Gianelloni <[email protected]>
Antithesis analysis container
Python-based analysis container that monitors node logs and reports assertions to Antithesis SDK: - Dockerfile.analysis: Python 3.11 slim image with pandas, matplotlib, and antithesis SDK - analyse.py: Log parsing and metrics computation module, extracts Praos and Leios block events, computes latency statistics - entrypoint-analysis.py: Main loop that periodically analyzes logs and reports assertions (p95 latency thresholds, block propagation) Signed-off-by: Chris Gianelloni <[email protected]>
Antithesis observability stack configuration
Observability infrastructure for local testing (enabled via --profile observability): - prometheus.yml: Metrics scraping configuration for cardano-nodes - loki.yml: Log aggregation configuration with TSDB storage - alloy.river: Grafana Alloy config to ship logs from /logs to Loki - grafana/provisioning/datasources: Prometheus and Loki datasources - grafana/provisioning/dashboards: Leios overview dashboard with log panels for each node and error/warning filtering Signed-off-by: Chris Gianelloni <[email protected]>
Clean up antithesis/README.md for clarity
- Clarify full mesh topology in diagram description - Replace IBs with EBs to match Linear Leios (CIP-0164) Signed-off-by: Chris Gianelloni <[email protected]>
Apply formatters and fix and unused import
pre-commit run --files antithesis/**/*
Dockerfile: build cardano-node and tx-generator separately
- cardano-node from leios-prototype branch - tx-generator from stable cardano-node 10.5.4 (leios-prototype has API incompatibility) - cardano-cli from blink labs pre-built image The tx-generator on leios-prototype fails to compile due to ouroboros-network API drift, but has no Leios-specific changes. Signed-off-by: Chris Gianelloni <[email protected]>
Fix IP conflicts and genesis file paths
- Separate immdb profile IPs to avoid conflicts with proto-devnet: - upstream: 172.28.0.10 -> 172.28.0.110 - node0: 172.28.0.20 -> 172.28.0.120 - downstream: 172.28.0.30 -> 172.28.0.130 - Fix genesis file paths: use /data directly instead of /data/genesis to match config.json relative path expectations - Both profiles now work correctly together or separately Signed-off-by: Chris Gianelloni <[email protected]>
Antithesis cardano-node container infrastructure
Dockerfile and scripts for building cardano-node-leios container for Antithesis testing: - Dockerfile.cardano-node: Multi-stage build using Blink Labs base image, builds cardano-node from leios-prototype branch with patched ouroboros-consensus reference for LeiosDemoDb support - init-node0.sh: Initializes node0 data directory with leios.db, topology.json, and patched genesis paths - init-downstream.sh: Initializes downstream node connecting to node0 - run-cardano-node.sh: Runtime script with optional WAN emulation - setup-wan-emulation.sh: tc-based network shaping for local testing Signed-off-by: Chris Gianelloni <[email protected]>
Antithesis docker-compose orchestration and CI
Antithesis docker-compose stack and CI workflow for testing: - docker-compose.yaml: Full stack orchestration with init containers, main services (upstream, node0, downstream), analysis container, and optional observability stack. Uses 172.28.0.0/24 subnet with static IPs, healthchecks, and WAN emulation support via NET_ADMIN - scripts/test-local.sh: Local testing script that builds images, starts stack, waits for health, runs for configurable duration, and checks analysis assertions - .github/workflows/antithesis-leios.yaml: CI workflow to build and push images to GHCR, with optional local stack testing on PRs Signed-off-by: Chris Gianelloni <[email protected]>
UI: Parse sender/receiver fully from log lines
Clean up docker-compose configuration
- Remove obsolete version attribute from docker-compose.yaml - Rename compose.yaml to k8s-pod.yaml to avoid conflict with docker compose (was a Kubernetes Pod spec, not a compose file) Signed-off-by: Chris Gianelloni <[email protected]>
Antithesis immdb-server container infrastructure
Dockerfile and scripts for building immdb-server container for Antithesis testing: - Dockerfile.immdb-server: Multi-stage build using Blink Labs base image, builds immdb-server and leiosdemo202510 from ouroboros-consensus leios-prototype branch - init-upstream.sh: Generates leios.db and schedule.json using leiosdemo202510, extracts immutable chain data, patches genesis paths - run-upstream.sh: Runtime script with optional WAN emulation Signed-off-by: Chris Gianelloni <[email protected]>
Make proto-devnet and immdb mutually exclusive profiles
- Add `profiles: ["devnet"]` to all proto-devnet services - Proto-devnet now requires `--profile devnet` to start - ImmDB remains `--profile immdb` - Update README with new usage instructions - Update IP addresses in README for immdb profile Usage: docker compose --profile devnet up # Proto-devnet docker compose --profile immdb up # ImmDB mock Signed-off-by: Chris Gianelloni <[email protected]>
Split Antithesis compose into separate stacks
Replace the single profile-based docker-compose.yaml with three separate files: devnet, immdb, and observability. This makes each stack self-contained and fixes the CI "no service selected" error caused by test-local.sh not passing --profile to docker compose. Signed-off-by: Chris Gianelloni <[email protected]>
Fix CI build context to use repo root
Dockerfiles reference files from both demo/ and antithesis/ directories, so the build context must be the repo root. Signed-off-by: Chris Gianelloni <[email protected]>