Given this is the accepted answer, I decided to update this answer.
Based on all the rest of answers as of today (5/14/2021), the following have updated snapshots (they are in no particular order):
There is also: https://snapshots.tulip.tools/#/
with snapshots for full and rolling, and the context and store folders as .tar.gz for archive for all networks ( the tezos node does not yet support export/import of archive snapshots, so thats why .tar.gz )
Every node contains two types of data: store and context. Both archive node and full(snapshot) mode has full store, but full mode has only a portion of the context while the archive mode has full context. To understand fully, we need to describe the purpose of the store and context.
The store is just raw blocks data, essentially it has all the blocks that ...
Here is an update for this question, these snapshots work perfectly when you extract them with xz.
curl -s https://api.github.com/repos/Phlogi/tezos-snapshots/releases/latest | jq -r ".assets | select(.name) | .browser_download_url" | grep roll | xargs wget -q --show-progress
curl -s https://api....
It is done at the levels corresponding to the cycle positions 255, 511, ..., 4095.
Given that cycle_position == (level - 1) % 4096 (the first cycle has started at level 1, genesis being special), the levels are 256, 512, ...
The relevant code is here:
let may_snapshot_roll ctxt =
let level = Alpha_context.Level.current ctxt in
On the new node in full history mode my bootstrapped folder looks like this:
store 5.5 GB
context 13 GB
If you updated your node and started rebuilding the blockchain from scratch your node should be running in full history mode by default. There is no need to snapshot and upgrade it again.
So the answer is the import will work if you use an absolute path to your snapshot file.
The snapshot filename alone will not work. Nor will a relative path the filename. The correct command will look like this:
./mainnet.sh snapshot import /absolute/path/to/snapshotfile/snapshotfile.full
For the time being you should create it by yourself by exporting it from a trusted full node doing this:
tezos-node snapshot export --block BLOCK_HASH FILE.full
you can see the full guide here:
This paragraph is interesting and talks about ...
This is because of when the seed is available. During cycle n, there are 128 commitment blocks where a hash of a nonce must be provided. These must then be revealed before the end of n+1. Once the nonces are revealed, we use them to construct the seed, which is used to determine the snapshot for n+7.
So, n+6 is calculated at the end of n when we are sure ...
When running a node, the store is responsible of storing blocks (headers, operations, …) and the context stores the ledger state (balances, contracts, …).
In the current rolling mode implementation, only the store is cleaned on regular basis (at the beginning of a new cycle). Indeed, the garbage collection (deletion of unreachable elements) of the context ...
You simply need to run ./tezos-node snapshot import FILE.full (you may need to specify your --data-dir path/to/dir if not using the default one).
For more details, the snapshot documentation can be found here: http://tezos.gitlab.io/user/snapshots.html.
If you have the tezos node command, you can run a snapshot command on the /var/lib/kiln/data-dir/tezos-node/NetXdQprcVkpaWU directory.
kiln-shell doesn't currently export the tezos-node command, though, so you may have to build tezos-node from source for the time being.
Then you can run the command like so:
tezos-node snapshot export --block ...
This is May 2021. Most snapshots providers listed here have stopped updating, and some (tezosshots[.]com) are actually redirecting to questionable sites (at least spam, if not downright malicious).
These are the only currently updated snapshot providers that I am aware of (happy to add more to the list and keep it updated.)
You have to specify the data directory of your container using --data-dir argument:
tezos-node snapshot export --block BMEH5XAWK4Z1Ds632VVyu9PjW2SKW27Mts4reL8fJCUQVFfgJu7 BMEH5XAWK4Z1Ds632VVyu9PjW2SKW27Mts4reL8fJCUQVFfgJu7.full --data-dir /var/run/tezos/node/data
You can use docker inspect to find it, look for the Cmd entry in the output, e.g.:
I believe the answer to your question essentially depends on your hardware setup. As you may know, blockchain full nodes are usually pretty intense on disk io so if you are using an old HDD you may likely suffer.
But with a recent SSD drive a snapshot of block 458815 too less than 5 mins to generate.
TzDutch provide snapshots via their QuickSync service - https://www.tzdutch.com/quicksync/
The current latest one is from block BMKkyoQRCUHh2nLxZE4o6q3ExQDeGntNsdMKTbzq6gEXRg6HguV
lz4 -d mainnet-BMKkyoQRCUHh2nLxZE4o6q3ExQDeGntNsdMKTbzq6gEXRg6HguV.full....