Keyless contract deployment with CREATE3

Yes, that’s my view after having checked and thought about the various options.

I’ve looked at how other projects have tried to have same addresses across multiple blockchains and most simply try to synchronize account nonce, but eventually one or more goes out of sync and they can no longer get the same address on one or more new blockchains. It’s such an unreliable way to try to maintain same addresses across blockchains.

One problem in our way is the transaction replay ban which I’ve written about in:

Maybe there can be a way to allow transaction replay for the deployment needs of developers.

If you’re using Nick’s Deterministic Deployment Proxy from 4y ago that has been deployed to 0x4e59b44847b379578588920ca78fbf26c0b4956c on many blockchains, then there is front-running vulnerability - if a contract was deployed using the factory then someone else could deploy the same contract to the same address on other EVM-based blockchains (by using the same salt). So I made an update that eliminates that vulnerability: