ethpandaops / optimism-package

A kurtosis package for deploying an optimistic rollup
39 stars 24 forks source link

Deploying L2 contracts is super slow and makes for bad devex #68

Closed samlaf closed 1 month ago

samlaf commented 1 month ago

I've been playing around with the devnet trying to add features to it, but the L2 deployment step is super slow and makes for a pretty bad dev experience (https://xkcd.com/303/)

image

Not super sure what the culprit is here. I noticed that the docker-compose devnet uses op-node genesis l1 to prepare an L1 genesis file, but the kurtosis devnet does not. But that probably under the hood just deploys the contracts using forge and then builds the genesis file...?

Otherwise would it just be the fact that the deployment is done inside a docker container as opposed to using forge subcommand execution? I have noticed in the past that forge deploys from within a docker container were much much slower than using native forge, but I'm unsure why.

Any other reasons that could explain the discrepancy?

mslipper commented 1 month ago

Hey Sam!

I'm working on some improvements to the deployment setup which should make things faster. The Kurtosis package wraps some poorly maintained OP Labs Docker images, and I'll be replacing them with a more modular and performant setup.

samlaf commented 1 month ago

Awesome looking forward!