When building a node, do I have to sync its block data from scratch or can a load some kind of snapshot and finish syncing from there?
It's possible to start with
tezos-node data from another node and finish the sync from there. I do this by running the new
tezos-node briefly to have it create
~/.tezos-node and the usual files in that. Then I stop
tezos-node and do the following:
rm -r context store
curl http://quicksync.tzdutch.com/latest.tar.lz4 | lz4 -d | tar xf -
The download and expand step can take several hours. Then I restart
tezos-node and let it finish syncing the data.
See https://www.tzdutch.com/quicksync/ about the source of the context and store data.