Public segment archive
This host is the default segment archive every UMNode downloads from. A node attaches whole sealed block segments from it instead of fetching their blocks from peers one by one, and verifies each segment against the chain it already holds before adopting it.
Status
The archive is not populated yet. Until a network's root carries a
manifest.json, a node logs Segment archive has nothing for this chain
yet once and fills from peers as usual; a snap sync says so and builds its state
from genesis. Nothing stalls: the archive only ever saves work.
Per-network roots
A node derives its archive root from the chain it runs:
https://umn.zhurko.de/<network id>-<first 4 bytes of the genesis hash>.
One host serves every network, and nothing has to be configured per chain.
| Network | Root | Status |
|---|---|---|
| Ethereum mainnet | /1-d4e56740/ | soon |
| Sepolia | /11155111-25a5cc10/ | soon |
| Hoodi | /560048-bbe31286/ | soon |
| BNB Smart Chain mainnet | /56-0d21840a/ | soon |
| BNB Smart Chain testnet (Chapel) | /97-6d3c66c5/ | soon |
Ephemery resets to a fresh genesis every 28 days and gets a new root each iteration, so it is not listed. The exact paths may still change while the archive is being set up.
Layout
An archive root holds one chain. Only data files are published, never index files, which a node rebuilds from the data:
<root>/
manifest.json table of contents: every file with size, SHA-256 and layout
blocks/0000000123.seg sealed block segments
changesets/0000000123.cseg sealed state-history segments
receipts/0000000123.cseg sealed receipts-stream segments
state/<head>.tar.zst state snapshots (the public archive publishes none)
The manifest records the layout each kind of segment was sealed in: segment size, block grouping and codec. A node whose store settings differ re-packs what it downloads into its own layout on the way in, so any node can use any archive.
What is verified
An attached segment is as trustworthy as one fetched block by block from peers; the archive is trusted for nothing. A downloaded file must match the manifest's size and SHA-256 and scan as an intact sealed file. Then every block must decode, carry its own number, link to the block before it and match its header's roots, and the segment as a whole must link to the chain the store already holds. A segment that fails is discarded and left to the peers.
Using it, or another archive
./bin/umnode # the public archive, snap sync
./bin/umnode --archive-source https://mirror.example.org/eth/mainnet
./bin/umnode --archive-source s3://my-bucket/umnode/mainnet
./bin/umnode --archive-source file:///mnt/archive/mainnet
./bin/umnode --syncmode full --archive-source none # peers only, state from genesis
State snapshots come from an archive you trust, never from the public one:
--syncmode snap restores the newest snapshot of the archive you name and
executes on from its head. With --backup a node publishes its own sealed
segments and snapshots to S3, Cloudflare R2 or a directory, and pruning waits for the
backup. The segment archive page of the documentation
has every detail.