Skip to content

Feat/api daemon#494

Merged
zeroXbrock merged 72 commits intomainfrom
feat/api-daemon
Apr 15, 2026
Merged

Feat/api daemon#494
zeroXbrock merged 72 commits intomainfrom
feat/api-daemon

Conversation

@zeroXbrock
Copy link
Copy Markdown
Member

@zeroXbrock zeroXbrock commented Mar 24, 2026

Motivation

Manage multiple [long-running] scenarios remotely.

Solution

Host a JSON-RPC server that manages contender sessions.

  • log streaming over WS & SSE
  • per-session seeds to prevent accidental tx/nonce conflicts
  • spam a scenario multiple times w/o repeating funding/setup (builtin scenarios included)
  • RPC methods: add_session, get_session, spam, stop, remove_session
  • add an endpoint to fund the spammers
  • support for custom private keys when adding a session
    • note: this is NOT SECURE, TREAT ALL KEYS AS DISPOSABLE

PR Checklist

  • Added Tests
  • Added Documentation
  • Ran cargo +nightly clippy --workspace --lib --examples --tests --benches --all-features --locked --fix
  • Ran cargo fmt --all
  • Note breaking changes in PR description, if applicable
  • update changelogs
    • Update CHANGELOG.md in each affected crate
    • add a high-level description in the root changelog

- cli just drops the ref, which shuts it down naturally
- orchestrator (when run in server) doesn't, so we need to invoke
  the CancellationToken's cancel() function manually
  ... before marking status as Ready
 + stream log for 'stop' method
@zeroXbrock zeroXbrock merged commit 74b07e9 into main Apr 15, 2026
7 checks passed
@zeroXbrock zeroXbrock deleted the feat/api-daemon branch April 15, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants