ethpandaops/optimism-package

Deploying L2 contracts is super slow and makes for bad devex

Closed this issue · 2 comments

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?

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.

Awesome looking forward!