Skip to content

chore: delete old devnet - #666

Open
0xForerunner wants to merge 2 commits into
mainfrom
fr/del-devnet
Open

chore: delete old devnet#666
0xForerunner wants to merge 2 commits into
mainfrom
fr/del-devnet

Conversation

@0xForerunner

@0xForerunner 0xForerunner commented May 22, 2026

Copy link
Copy Markdown
Contributor

Note

Low Risk
Large deletion of unused infrastructure with no runtime changes to the native devnet path; risk is mainly for anyone still depending on the removed Kurtosis workflow.

Overview
Removes the legacy Kurtosis devnet under pkg/devnet (Starlark package, network params, rollup-boost/tx-proxy/rundler launchers, static configs) and drops root just devnet-up / just deploy-contracts plus the Kurtosis-oriented deploy_kurtosis.sh contract deploy path.

Native Rust devnet (crates/devnet, just devnet) is now the only documented local stack: docs and crate comments no longer describe a Kurtosis fallback. Grafana flashblocks dashboards are embedded from crates/devnet/grafana/ instead of pkg/devnet/grafana/.

The devnet harness stops advertising removed legacy services in topology/component manifests (RemovedLegacyService, removed_services, rollup-boost/tx-proxy/rundler placeholders); xtask devnet --print-topology only lists active components.

Reviewed by Cursor Bugbot for commit d2b58dc. Bugbot is set up for automated code reviews on this repo. Configure here.

@0xOsiris

Copy link
Copy Markdown
Contributor

Before we fully deprecate do we have feature parity:

  • Can I modify the hard fork parameters in the current devnet via a config file e.g. isthmus, holocene, jovian
  • Load Testing, Stress Tests, and E2E Stress Tests are fully hooked up to the new version
  • Bundling / User Op Support
  • Tx Proxy Support

@github-actions

github-actions Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results

Compared on the same runner in the same workflow run.

group                                                                                              base                                   pr
-----                                                                                              ----                                   --
flashblock_validation_launch_flashblock_sequence_eth_transfers/stream/4fb_x_125tx                  1.10     31.9±4.41ms        ? ?/sec    1.00     28.9±0.14ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_eth_transfers/stream/4fb_x_250tx                  1.01     57.9±1.98ms        ? ?/sec    1.00     57.2±0.27ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_eth_transfers/stream/4fb_x_50tx                   1.00     12.1±0.22ms        ? ?/sec    1.01     12.1±0.10ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_eth_transfers_with_bal/stream/4fb_x_125tx         1.00     35.7±0.62ms        ? ?/sec    1.04     37.2±0.49ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_eth_transfers_with_bal/stream/4fb_x_250tx         1.00     66.7±1.36ms        ? ?/sec    1.03     68.6±1.41ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_eth_transfers_with_bal/stream/4fb_x_50tx          1.12     19.1±2.61ms        ? ?/sec    1.00     17.0±0.10ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_fib/stream/4fb_x_125tx                            1.00     26.9±0.43ms        ? ?/sec    1.01     27.2±0.10ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_fib/stream/4fb_x_250tx                            1.00     53.1±0.21ms        ? ?/sec    1.00     53.4±0.26ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_fib/stream/4fb_x_50tx                             1.07     12.0±1.53ms        ? ?/sec    1.00     11.2±0.20ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_fib_with_bal/stream/4fb_x_125tx                   1.02     36.1±0.29ms        ? ?/sec    1.00     35.3±0.40ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_fib_with_bal/stream/4fb_x_250tx                   1.00     65.7±0.47ms        ? ?/sec    1.00     65.9±0.40ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_fib_with_bal/stream/4fb_x_50tx                    1.03     16.6±0.47ms        ? ?/sec    1.00     16.1±0.29ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254/stream/4fb_x_10tx             1.00    135.6±0.46ms        ? ?/sec    1.00    136.1±0.81ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254/stream/4fb_x_12tx             1.00    162.1±0.16ms        ? ?/sec    1.00    162.0±0.34ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254/stream/4fb_x_5tx              1.00     67.9±0.06ms        ? ?/sec    1.01     68.8±0.19ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254_with_bal/stream/4fb_x_10tx    1.04     21.9±0.67ms        ? ?/sec    1.00     21.1±0.74ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254_with_bal/stream/4fb_x_12tx    1.00     23.6±1.33ms        ? ?/sec    1.01     23.7±1.83ms        ? ?/sec
flashblock_validation_launch_flashblock_sequence_world_id_like_bn254_with_bal/stream/4fb_x_5tx     1.00     19.0±0.35ms        ? ?/sec    1.01     19.2±0.44ms        ? ?/sec
flashblock_validation_process_flashblock_eth_transfers/txs/1000                                    1.00     48.8±0.23ms        ? ?/sec    1.00     48.9±0.16ms        ? ?/sec
flashblock_validation_process_flashblock_eth_transfers/txs/50                                      1.00      2.6±0.01ms        ? ?/sec    1.01      2.7±0.02ms        ? ?/sec
flashblock_validation_process_flashblock_eth_transfers/txs/500                                     1.00     24.4±0.04ms        ? ?/sec    1.02     24.8±0.13ms        ? ?/sec
flashblock_validation_process_flashblock_eth_transfers_with_bal/txs/1000                           1.01     60.3±2.25ms        ? ?/sec    1.00     59.4±0.97ms        ? ?/sec
flashblock_validation_process_flashblock_eth_transfers_with_bal/txs/50                             1.00      3.8±0.18ms        ? ?/sec    1.05      4.0±0.03ms        ? ?/sec
flashblock_validation_process_flashblock_eth_transfers_with_bal/txs/500                            1.06     32.4±3.68ms        ? ?/sec    1.00     30.4±0.18ms        ? ?/sec
flashblock_validation_process_flashblock_fib/txs/1000                                              1.02     48.7±1.72ms        ? ?/sec    1.00     47.8±0.27ms        ? ?/sec
flashblock_validation_process_flashblock_fib/txs/50                                                1.08      2.7±0.12ms        ? ?/sec    1.00      2.5±0.02ms        ? ?/sec
flashblock_validation_process_flashblock_fib/txs/500                                               1.00     24.2±0.07ms        ? ?/sec    1.00     24.1±0.05ms        ? ?/sec
flashblock_validation_process_flashblock_fib_with_bal/txs/1000                                     1.02     57.5±2.01ms        ? ?/sec    1.00     56.4±0.33ms        ? ?/sec
flashblock_validation_process_flashblock_fib_with_bal/txs/50                                       1.06      4.1±0.13ms        ? ?/sec    1.00      3.9±0.06ms        ? ?/sec
flashblock_validation_process_flashblock_fib_with_bal/txs/500                                      1.01     30.2±2.81ms        ? ?/sec    1.00     29.9±1.83ms        ? ?/sec
flashblock_validation_process_flashblock_world_id_like_bn254/txs/10                                1.02     34.6±1.74ms        ? ?/sec    1.00     33.7±0.20ms        ? ?/sec
flashblock_validation_process_flashblock_world_id_like_bn254/txs/25                                1.01     84.5±1.79ms        ? ?/sec    1.00     83.9±0.49ms        ? ?/sec
flashblock_validation_process_flashblock_world_id_like_bn254/txs/50                                1.00    168.2±0.48ms        ? ?/sec    1.00    167.5±0.22ms        ? ?/sec
flashblock_validation_process_flashblock_world_id_like_bn254_with_bal/txs/10                       1.23      7.1±0.07ms        ? ?/sec    1.00      5.8±0.23ms        ? ?/sec
flashblock_validation_process_flashblock_world_id_like_bn254_with_bal/txs/25                       1.03      8.5±0.28ms        ? ?/sec    1.00      8.3±0.07ms        ? ?/sec
flashblock_validation_process_flashblock_world_id_like_bn254_with_bal/txs/50                       1.31     15.1±0.26ms        ? ?/sec    1.00     11.5±0.10ms        ? ?/sec

Threshold: 10% regression triggers failure

@alessandromazza98

alessandromazza98 commented May 25, 2026

Copy link
Copy Markdown
Contributor

Before we fully deprecate do we have feature parity:

  • Can I modify the hard fork parameters in the current devnet via a config file e.g. isthmus, holocene, jovian
  • Load Testing, Stress Tests, and E2E Stress Tests are fully hooked up to the new version
  • Bundling / User Op Support
  • Tx Proxy Support

I agree on this. In general I think it's not super hard to integrate all these things, but they're not yet integrated. I've tried the following (while devnet was running):

❯ just stress load-test --rpc-url http://127.0.0.1:65182
RUST_LOG="info" cargo run -p xtask -- stress $@
    Finished [`dev` profile [unoptimized + debuginfo]](https://doc.rust-lang.org/cargo/reference/profiles.html#default-profiles) target(s) in 1.46s
     Running `target/debug/xtask stress load-test --rpc-url 'http://127.0.0.1:65182'`
Error: No such file or directory (os error 2)

Location:
    xtask/src/stress/cli/transactions.rs:129:58
error: recipe `stress` failed on line 74 with exit code 1

This shows that current rust local devnet needs to incorporate those features yet.

@alessandromazza98

Copy link
Copy Markdown
Contributor

I agree on this. In general I think it's not super hard to integrate all these things, but they're not yet integrated. I've tried the following (while devnet was running):

❯ just stress load-test --rpc-url http://127.0.0.1:65182
RUST_LOG="info" cargo run -p xtask -- stress $@
    Finished [`dev` profile [unoptimized + debuginfo]](https://doc.rust-lang.org/cargo/reference/profiles.html#default-profiles) target(s) in 1.46s
     Running `target/debug/xtask stress load-test --rpc-url 'http://127.0.0.1:65182'`
Error: No such file or directory (os error 2)

Location:
    xtask/src/stress/cli/transactions.rs:129:58
error: recipe `stress` failed on line 74 with exit code 1

This shows that current rust local devnet needs to incorporate those features yet.

EDIT: I've fixed it now, so now just stress works fine automatically with the new rust local devnet

@alessandromazza98

Copy link
Copy Markdown
Contributor

Before we fully deprecate do we have feature parity:

  • Can I modify the hard fork parameters in the current devnet via a config file e.g. isthmus, holocene, jovian
  • Load Testing, Stress Tests, and E2E Stress Tests are fully hooked up to the new version
  • Bundling / User Op Support
  • Tx Proxy Support

as of now we have feature parity around first and second items in this list.

There is no bundler and tx proxy in the new rust local devnet, therefore the last 2 items in the list are not satisfied. I would say that it's still good enough because the local devnet is useful to check and ensure we are not breaking anything on the node when doing a big change in the code.

For tx proxy / bundlers we do have DEV environment where we can test a lot.

Further, they can be added on follow up PRs.

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.

3 participants