-
Notifications
You must be signed in to change notification settings - Fork 296
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pd: index cometbft
block data
#3451
Comments
Re: storage. For now we can simply store the block data in a prefixed substore, this means that we will need to:
|
Two points:
|
Re 2: agreed, that's what I was suggesting |
In Penumbra, chain upgrades are performed via "genesis migrations". The chain state is exported, and node operators produce an upgraded genesis file that specifies the new application hash and starting height for the post-upgrade chain.
Unfortunately, this process requires
cometbft
to delete all of the block data preceding the upgrade height. This is problematic because Penumbra clients require access to historical block data in order to synchronize their view service, or query transactions.In particular, Penumbra clients need to:
tx_hash
")To solve this, we need to index block data directly into the application, and make the
TendermintProxy
service route queries to this new local block storage.In order to do this, we should:
The general schema of our indices should allow for retrieval by block height (frequent) and retrieval by tx hash (sparser):
block_height
->Vec<block_data>
tx_hash
-> (block_height, position_in_block)In pseudo-code:
ProcessProposal
and store them inpd
block dbTendermintProxy
service to routeget_tx
andget_block
RPCs to the local block storeThis is part of #1804, and blocking for #3408
The text was updated successfully, but these errors were encountered: