ethereum-optimism / ethereum-optimism/super-cli

Super CLI: Gasless Deployments

Open
#41 1 comment 1 reaction 2 assignees Claimed by @jakim929 View on GitHub
Dominant language
TypeScript
Stars
20
Forks
10
PR merge metrics
No merged PRs in 30d

Description

TLDR: Create a deployment pattern for developers to get "free" deployments through SuperCLI

There are probably two tracks to this work worth pursuing:
1. Pattern which enables devs to deploy for free on testnet and devnets
2. Patter for long term support of mainnet deployments

For path 1. we could consider centralizing deployment through a centralized deployer wallet operated by OP Labs to testnet and devnets
* Doing so would allow us to remove the need for developers to prefund a wallet with gas on relevant testnets and devnets
* In this model we would package the deploy init code in the CLI and hand it off to a centralized service which would deploy to the relevant chains
* In this model we would not need programatic faucet access or need to provide a bridging expeirence in the CLI for devnets

For path 2. we probably want to pursue this as the long term strategy for testnet and mainnet deployments to decentralize the deployments
* Users in the CLI would store private key as is, during deployment flow, deployment would be packaged as a userOp and appended to a smart wallet init userop
* Deployment would be submitted from the smart wallet
* Paymasters would be set up on relevant chains and prefunded
* Devs deploying through CLI would be sponsored up to some limit per week, etc.

Why?
* Deployments don't cost much but removing friction and encouraging free use is a great way to add value without changing the workflow
* Removing the need to bridge or fund on various networks simplifies the process of deploying and encouraging multichain behavior

My recco:
1. Get a version of path 1 working for ETH Denver - support the hackathon and devs building on devnets to start through CLI
2. Later in Q1 ship path 2 as a more durable long term solution

Lets discuss @jakim929 @nitaliano @fainashalts

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.