Mars Protocol Node Snapshot

Chain ID: mars-1 | Current Node Version: v1.0.0

Latest
Block Height
Size
Timestamp
Download
793357 369 MB 7 hours ago mars_793357.tar.lz4

Our Mars Protocol Snapshot Server Setup

We take a node snapshot every day. We then delete all the previous snapshots to free up the space on the file server.

The snapshot is designed for node opeartors to run an efficient validator service on Mars Protocol chain. To make the snapshot as small as possible while still viable as a validator, we use the following setting to save on the disk space. We suggest you make the same adjustment on your node too. Please notice that your node will have very limited functionality beyond signing blocks with the efficient disk space utilization. For example, your node will not be able to serve as a RPC endpoint (which is not suggested to run on a validator node anyway).

Since we periodically state-sync our snapshot nodes, you might notice that sometimes the size of our snapshot is surprisingly small.

app.toml

# Prune Type
pruning = "custom"

# Prune Strategy
pruning-keep-recent = "100"
pruning-keep-every = "0"
pruning-interval = "10"

config.toml

indexer = "null"

How To Process Mars Protocol Snapshot

Install lz4 if needed

sudo apt update
sudo apt install snapd -y
sudo snap install lz4

Download the snapshot

wget -O mars_793357.tar.lz4 https://snapshots.polkachu.com/snapshots/mars/mars_793357.tar.lz4 --inet4-only

Stop your node

sudo service mars stop

Reset your node. WARNING: This will erase your node database. If you are already running validator, be sure you backed up your priv_validator_key.json prior to running the the command. The command does not wipe the file. However, you should have a backup of it already in a safe location.

# On some tendermint chains
marsd unsafe-reset-all

# On other tendermint chains
marsd tendermint unsafe-reset-all --home $HOME/.mars --keep-addr-book

Since Mars Protocol has enabled wasm and its wasm folder is inside the data folder, our snapshot also includes a wasm sub-folder. Notice that we have taken out the cache sub-folder from the snapshot to ensure the wasm folder is compatible for all CPUs.

Decompress the snapshot to your database location. You database location will be something to the effect of ~/.mars depending on your node implemention.

lz4 -c -d mars_793357.tar.lz4  | tar -x -C $HOME/.mars

If everything is good, now restart your node

sudo service mars start

Remove downloaded snapshot to free up space

rm -v mars_793357.tar.lz4

Make sure that your node is running

sudo service mars status
sudo journalctl -u mars -f

ADVANCED ROUTE: The above solution requires you to download the compressed file, uncompressed it and then delete the original file. This requires extra storage space on your server. You can run the following combo command to stream the snapshot into your database location. For advanced users only:

curl -o - -L https://snapshots.polkachu.com/snapshots/mars/mars_793357.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.mars

ALTERNATIVE ROUTE: We also have Mars Protocol state-sync service to help you bootstrap a node.