0xFableOrg / roll-op

The simplest way to spin your own dev / prod rollup, fully configurable.
BSD 3-Clause Clear License
92 stars 25 forks source link

Enable secure PoA node (+ spinning multiple PoA nodes) #17

Closed norswap closed 11 months ago

norswap commented 1 year ago

We have now merged the feature to spin a PoA (clique) node to serve as L1. It would be good to:

  1. Ensure that this node can be exposed to the internet (either by default, or after asking the user in case there is a tradeoff) so that it can be used for a public devnet.

  2. Enable spinning multiple PoA nodes (multiple clique signers) to support this network. This only makes sense once the nodes can be exposed to the internet! And will also make more sense later down the lifetime of the project where we can deploy to the cloud and separate the provisioning and deployment steps more cleaning (which is why I'm including this in this issue instead of creating a separate one at this point).

norswap commented 1 year ago

If we do this, we should add an option to add --rpc.allow-unprotected-txs to the parameters, so that legacy tx are allowed on the RPC node. We need these transactions for deterministic cross-chain deployments (e.g. deploying the CREATE3 contract at the same address on every chain).

EDIT: This is now done.

norswap commented 11 months ago

This is now made more difficult by the fact that the L1 generation script is a Go tool in the OP monorepo.

This is still doable, but it's looking like all the efforts towards this would be pretty much orthogonal to what's in roll-op, except for reusing some shared libraries. This is probably best left as a different dedicated tool. Roll-op is able to deploy rollups to any chains, so it's still interoperable.