-
Notifications
You must be signed in to change notification settings - Fork 401
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
feat: add node snapshots page with providers #1906
Open
hexmarkd
wants to merge
7
commits into
celestiaorg:main
Choose a base branch
from
21state:feat/node-snapshots
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 4 commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
311b7e3
feat: add node snapshots page
hexmarkd d6d9564
feat: add consensus-node page tip
hexmarkd b4c4b32
feat: add snapshots to sidebar
hexmarkd 881f8ed
feat: add polkachu snapshot
hexmarkd 47845a8
fix: itrocket testnet links
hexmarkd eabfea1
chore: convert headings to sentence case
hexmarkd 7749674
chore: convert headings to sentence case
hexmarkd File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,132 @@ | ||||||
--- | ||||||
description: A guide to using node snapshots and snapshot providers for quick node setup, including how to use the celestia-snapshot-finder tool | ||||||
--- | ||||||
|
||||||
# Node Snapshots | ||||||
|
||||||
## What are Node Snapshots? | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. please use sentence case on rest of doc for headings below! I tried to push but hit perms issues. |
||||||
|
||||||
Node snapshots are pre-synced copies of the blockchain state that allow you to get your node up and running quickly without having to sync from genesis. Think of them as checkpoints - instead of processing every single block since the beginning of the chain, you can start from a recent, verified state. | ||||||
|
||||||
Among various options for setting up your node, snapshots offer one of the fastest ways to get started. Instead of syncing the entire chain history from the beginning, you can use a snapshot to start from a recent state. | ||||||
|
||||||
Using snapshots can save you significant time and resources, especially as the blockchain grows larger. | ||||||
|
||||||
## Pruned vs Archive Snapshots | ||||||
|
||||||
There are two main types of snapshots available: | ||||||
|
||||||
### Pruned Snapshots | ||||||
|
||||||
Pruned snapshots contain only the essential state needed to run a node. They exclude historical data that isn't necessary for current operations, making them much smaller in size. These are ideal for: | ||||||
|
||||||
- Validator nodes that only need recent state to participate in consensus | ||||||
- Consensus nodes that don't need complete historical data | ||||||
- Users who want to get started quickly and aren't concerned with historical queries | ||||||
|
||||||
### Archive Snapshots | ||||||
|
||||||
Archive snapshots contain the complete blockchain history, including all historical states. They're larger in size but provide access to the entire chain history. You'll need an archive snapshot if you're: | ||||||
|
||||||
- Running a DA node that needs to serve historical block data | ||||||
- Operating a consensus node that needs to support historical queries | ||||||
- Building an application that requires access to past states | ||||||
|
||||||
## Available Snapshot Providers | ||||||
|
||||||
### Mainnet Beta | ||||||
|
||||||
| Provider | Consensus Node | Bridge Node | | ||||||
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | | ||||||
| Stake Town | [Pruned](https://services.stake-town.com/home/mainnet/celestia/sync) | - | | ||||||
| ITRocket | [Pruned](https://itrocket.net/services/mainnet/celestia/) • [Archive](https://itrocket.net/services/mainnet/celestia/) | [Archive](https://itrocket.net/services/mainnet/celestia/) | | ||||||
| Polkachu | [Pruned](https://polkachu.com/tendermint_snapshots/celestia) • [Archive](https://polkachu.com/archive_snapshots/celestia/) | - | | ||||||
| kjnodes | [Pruned](https://services.kjnodes.com/mainnet/celestia/snapshot/) • [Archive](https://services.kjnodes.com/mainnet/celestia/snapshot-archive/) | - | | ||||||
| Tienthuattoan | [Pruned](https://services.tienthuattoan.com/mainnet/celestia/snapshot) | - | | ||||||
| Noders | [Pruned](https://noders.services/mainnet-networks/celestia/snapshot/) | - | | ||||||
| QubeLabs | [Archive](https://snaps.qubelabs.io/celestia/) | - | | ||||||
| CitizenWeb3 | [Pruned](https://staking.citizenweb3.com/chains/celestia?tab=snapshot) | - | | ||||||
| BlackBlocks | [Archive](https://wiki.blackblocks.io/en/public/services/mainnet/celestia) | [Archive](https://wiki.blackblocks.io/en/public/services/mainnet/celestia) | | ||||||
|
||||||
### Mocha Testnet | ||||||
|
||||||
| Provider | Consensus Node | Bridge Node | | ||||||
| ------------- | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | | ||||||
| Stake Town | [Pruned](https://services.stake-town.com/home/testnet/celestia/sync) | - | | ||||||
| ITRocket | [Pruned](https://itrocket.net/services/mainnet/celestia/) • [Archive](https://itrocket.net/services/mainnet/celestia/) | [Archive](https://itrocket.net/services/mainnet/celestia/) | | ||||||
| Polkachu | [Pruned](https://polkachu.com/testnets/celestia/snapshots) | - | | ||||||
| kjnodes | [Pruned](https://services.kjnodes.com/testnet/celestia/snapshot/) | - | | ||||||
| Tienthuattoan | [Pruned](https://services.tienthuattoan.com/testnet/celestia/snapshot) | - | | ||||||
| Noders | [Pruned](https://noders.services/testnet-networks/celestia/snapshot) | - | | ||||||
| QubeLabs | [Archive](https://snaps.qubelabs.io/celestia/) | - | | ||||||
| BlackBlocks | [Archive](https://wiki.blackblocks.io/en/public/services/testnet/celestia) | [Archive](https://wiki.blackblocks.io/en/public/services/testnet/celestia) | | ||||||
|
||||||
jcstein marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
## Using celestia-snapshot-finder | ||||||
|
||||||
The `celestia-snapshot-finder` is a community tool that automatically finds and downloads the fastest available snapshot for your node. It tests download speeds from verified providers and selects the fastest available snapshot based on your location and network conditions. | ||||||
|
||||||
### Features | ||||||
|
||||||
- Automatically finds the optimal snapshot from verified providers | ||||||
- Selects the best option based on file size and download speed | ||||||
- Supports both consensus and bridge nodes (pruned and archive snapshots) | ||||||
- Available for multiple platforms (Linux, macOS) with ARM and AMD64 support | ||||||
- Includes download progress tracking and resume capability | ||||||
|
||||||
### Installation | ||||||
|
||||||
You can download pre-built binaries from the [latest release](https://github.com/21state/celestia-snapshot-finder/releases/latest) page: | ||||||
|
||||||
- Linux: `celestia-snapshot-finder-linux-amd64` or `celestia-snapshot-finder-linux-arm64` | ||||||
- macOS: `celestia-snapshot-finder-darwin-amd64` or `celestia-snapshot-finder-darwin-arm64` | ||||||
|
||||||
Or build from source: | ||||||
|
||||||
```bash | ||||||
git clone https://github.com/21state/celestia-snapshot-finder.git | ||||||
cd celestia-snapshot-finder | ||||||
./build.sh | ||||||
``` | ||||||
|
||||||
### Usage Examples | ||||||
|
||||||
A CLI tool for downloading Celestia node snapshots with direct URLs. Supports different node types and snapshot types with automatic or manual selection. | ||||||
|
||||||
Basic usage: | ||||||
|
||||||
```bash | ||||||
celestia-snapshot-finder [node-type] [snapshot-type] [flags] | ||||||
``` | ||||||
|
||||||
Examples: | ||||||
|
||||||
```bash | ||||||
# Download pruned consensus node snapshot | ||||||
celestia-snapshot-finder consensus pruned | ||||||
|
||||||
# Download archive bridge node snapshot with manual selection | ||||||
celestia-snapshot-finder bridge archive --manual | ||||||
``` | ||||||
|
||||||
Available flags: | ||||||
|
||||||
```bash | ||||||
-n, --chain-id string Chain ID (default "celestia") | ||||||
--debug Enable debug mode with extra information | ||||||
-h, --help help for celestia-snapshot-finder | ||||||
-m, --manual Enable manual selection | ||||||
-v, --version version for celestia-snapshot-finder | ||||||
``` | ||||||
|
||||||
In automatic mode (default), the tool will: | ||||||
|
||||||
1. Test download speeds and verify snapshots from all providers | ||||||
2. Automatically select and use the fastest available option | ||||||
3. Start downloading from the selected provider | ||||||
|
||||||
In manual mode (`--manual` flag), the tool will: | ||||||
|
||||||
1. Test download speeds and verify snapshots from all providers | ||||||
2. Show you a list of providers with their download speed, snapshot size, and estimated download time | ||||||
3. Let you select your preferred provider from the list | ||||||
4. Start downloading from your selected provider |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.