penumbra-zone / penumbra

Penumbra is a fully private proof-of-stake network and decentralized exchange for the Cosmos ecosystem.
https://penumbra.zone
Apache License 2.0
387 stars 296 forks source link

host chain artifacts like archives, reindexer dbs, and genesis files #4903

Open conorsch opened 1 month ago

conorsch commented 1 month ago

Is your feature request related to a problem? Please describe. Reindexing workflows depend on access to hard-to-find data, like the original genesis file for a pre-upgrade chain. Also, newly joining nodes must bootstrap from node state backup.

Describe the solution you'd like There should be a URL like https://artifacts.plinfra.net/ that hosts a directory tree of useful data, separated by chain.

Describe alternatives you've considered Right now we just encourage folks to find the data on their own, like in the pindexer docs:

The <ORIGINAL_GENESIS_FILE> must be the genesis.json file for the chain, before any upgrades. Note, in particular, that after an upgrade, there will be a new genesis file containing only a checkpoint. pindexer specifically needs the original genesis file, because it needs to read information about the start of the chain, such as initial allocations, to track changes over time accurately.

Additional context Here's a list of artifact types for consideration:

We don't need to go crazy about completeness, just having a directory to point to would greatly improve a lot of first-run experience.

conorsch commented 3 weeks ago

Started collecting this data here: https://artifacts.plinfra.net/ It's got subdirs for chains like penumbra-1 and penumbra-testnet-phobos-2. Not 100% complete, but it's a great start. Will continue to add more assets.

One thing we've lost track on is the ability for a new node to bootstrap onto a post-upgrade chain easily. We should revisit the --archive-url logic in pd to make that a bit easier.