Skip to content

Improvement Ideas #243

@metachris

Description

@metachris

Collection of ideas

  • Improve first-time experience: playground seemingly hangs for a long time while Docker downloads in background.
  • Hardcoded client versions?: Not clear from README how client versions are pinned or updated. If they're in code, consider a versions.yaml or similar for easy bumps.
  • Cleanup could be more aggressive: builder-playground clean exists but does it remove volumes? Networks? Dangling images? Users accumulate Docker cruft fast.
  • Add a simple ASCII or mermaid diagram showing L1 recipe topology (EL ↔ CL ↔ mev-boost ↔ relay) would help newcomers grasp what's being deployed.
  • Examples folder is undocumented: There's an /examples directory but no mention of what's in there or how to use it.
  • cook is cute but non-obvious: New users might not immediately understand the metaphor. Consider aliasing to start or run as well, or at least explaining it in help text.
  • builder-playground logs <service> would be convenient (vs. docker logs).
  • readyz endpoint with information about individual services
  • List port mappings in README: Users need to know what's exposed. A table showing default ports (EL RPC, CL API, relay endpoints) would save people from digging through code.1
  • No native podman support mentioned: Many CI systems and security-conscious users prefer podman. Worth documenting if it works or explicitly saying Docker-only.
  • Metrics endpoint: Expose Prometheus metrics for the playground itself (blocks produced, reorgs, builder submissions) without needing to scrape individual services.
  • Document the built-in Grafana dashboard
  • Multi-builder support: Spin up N builders (in different versions) competing against the same relay to test competitive dynamics.
  • Use --builder-url instead of --external-builder (or as alias)
  • Manifest validation: warn on port collision, incompatible flags, etc

More abstract ideas

  • First-Class "Chaos" Scenarios (Assertoor Integration): Expose common "chaos" scenarios as simple flags. Example: builder-playground cook l1 --scenario reorg-attack or --scenario relay-outage.
  • Interactive TUI: Makes exploring the "hidden" features (like secondary ELs or proxies) discoverable without reading the entire flag list.
  • Pre-built Docker Image for the Tool Itself -- i.e. run docker run -v /var/run/docker.sock:/var/run/docker.sock flashbots/builder-playground cook l1
  • Playground Dashboard container with metrics & logs. Could include overall grafana-style dashboard, logs viewer, block explorer (simple embedded one like Blockscout). Even a lightweight “Playground Dashboard” run in a container would be amazing.

Please add more 🙏

Metadata

Metadata

Labels

✨ featureNew functionality or enhancement💬 discussionOpen conversation or brainstorming

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions