Skip to content

metroncorp/moonpool

 
 

Repository files navigation

Moonpool

Moonpool Logo

A Rust toolbox for building distributed systems with deterministic simulation testing, inspired by FoundationDB's simulation testing approach.

Note: This is currently a hobby-grade project under active development.

Overview

Moonpool provides a comprehensive framework for developing and testing distributed systems through deterministic simulation. Write your distributed system once and test it with simulated networking for predictable debugging, then deploy with real networking - all using the same code.

Features

  • Deterministic Simulation - Reproducible testing with controlled time and event ordering
  • Network Abstraction - Seamlessly swap between simulated and real networking
  • Buggify Chaos Testing - FoundationDB-style deterministic fault injection
  • Actor-Based Architecture - Event-driven peer networking with backoff and reliability
  • Statistical Testing - Run multiple iterations with comprehensive reporting
  • Single-Core Design - Simplified async without thread-safety complexity

Current Status

Implementation Status

  • Provider Traits - Complete abstraction layer (Network, Time, Task)
  • Buggify System - Deterministic fault injection framework
  • Sometimes Assert - Statistical assertion coverage for chaos testing
  • TCP with Buggify - Connection management with chaos testing
  • Actor-based Peer - Event-driven networking with reliability
  • Ping Pong Actor - DST-enabled test actor for active bug discovery

Getting Started

# Enter development environment
nix develop

# Run all validation checks
nix develop --command cargo fmt
nix develop --command cargo clippy
nix develop --command cargo nextest run

# Build the project
nix develop --command cargo build

Project Structure

  • moonpool-simulation/ - Core simulation framework
  • docs/specs/ - Technical specifications
  • docs/plans/ - Implementation roadmaps

License

Apache 2.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.0%
  • Other 1.0%