penumbra icon indicating copy to clipboard operation
penumbra copied to clipboard

pd: add support for running in paused 'archive node' mode

Open avahowell opened this issue 8 months ago • 2 comments

Is your feature request related to a problem? Please describe. In the CometBFT ecosystem, an 'archive node' refers to a node that is running an from an old (pre-upgrade) genesis, used to serve Comet RPC requests for data during that epoch. Post upgrade, any state from a pre-upgrade epoch is not queryable by the CometBFT RPC. This presents a problem for use cases such as relayers, which use the Comet RPC in order to fetch headers to use to build client updates. As such, it is typical for CometBFT operators to run a pre-upgrade node in a 'frozen' state, where that node only exists to serve RPC requests for headers from the pre-upgrade epoch, known as an 'archive node'.

There is not currently a natively supported pathway in pd for running in 'archive' mode (not producing any blocks, but still remaining online so as not to halt CometBFT).

Describe the solution you'd like We should add a flag to pd start, pd start --archive, that configures pd so that it expects to run in a frozen 'archive' state.

--archive should:

  • Ignore/override any upgrade parameters indicating that the node should halt due to an upgrade.
  • Instruct pd to not respond to any consensus-related ABCI requests. This should be done in a way that avoids pd or CometBFT halting.
  • Instruct pd to not respond to any mempool-related ABCI requests. This should be done in a way that avoids pd or CometBFT halting.

avahowell avatar May 28 '24 21:05 avahowell