penumbra
penumbra copied to clipboard
Implement `sudo` mode tooling for testing
We should have the ability for a Penumbra node to fork and then simulate the as close to the exact state of a given network as possible.
Penumbra's support for consensus key rotation makes this possible: we can implement tooling in a pd subcommand, e.g., pd sudo-fork, that:
- does a custom migration-like (not an actual migration but implemented using the same in-place edit functionality) operation editing all of the validator definitions to have new consensus keys
- this should also overwrite the cometbft data describing the validator set, which may or may not require surgery
- copies the resulting data to make a clone of all active validators
- generates Docker config data for running all those clones in a single docker-compose operation
We should implement a basic upgrade smoke-test first, and aim to do this more complex simulation capability post-mainnet.