To make serving archival data more accessible we split the data into smaller segments. These segments are stored in s3://injective-snapshots/mainnet/subnode
Snapshot Dir
Height Range
Injective Version
Recommended Disk Size
/0073
0 – 73M
v1.12.1
42 TiB
/6068
60M – 68M
v1.12.1
7 TiB
/7380
73M – 80M
v1.12.1
7 TiB
/8088
80M – 88M
v1.13.3
7 TiB
/8896
88M – 96M
v1.13.3
7 TiB
/8898
88M – 98M
v1.13.3
7 TiB
/98106
98M – 106M
v1.13.3
7 TiB
/98107
98M – 107M
v1.14.0
7.5 TiB
/66101
66M – 101M
v1.14.0
27 TiB
/105116
105M – 116M
v1.15.0
7.5 TiB
/113127
113M – 127M
v1.15.0
11 TiB
/119143
119M – 143M
v1.17.0
16 TiB
/138150
138M – 150M
v1.17.2
5.8 TiB
These segments are stitched together via gateway which is an aggregator proxy that routes queries to the appropriate node based on block range
4. Disable pruning in your app.toml file and block p2p and set the log level to error in your config.toml files.
This ensures that the data does not get pruned and the node stays in a halted state. Setting the log level to error lessens disk ops and improves performance.
# Disable pruning in app.tomlsed -i 's/^pruning *= *.*/pruning = "nothing"/' $INJ_HOME/config/app.toml# Disable p2p and disable create empty blocks on config.tomlawk ' BEGIN { section = "" } /^\[/ { section = $0 } section == "[p2p]" { if ($1 ~ /^laddr/) $0 = "laddr = \"tcp://0.0.0.0:26656\"" if ($1 ~ /^max_num_inbound_peers/) $0 = "max_num_inbound_peers = 0" if ($1 ~ /^min_num_inbound_peers/) $0 = "min_num_inbound_peers = 0" if ($1 ~ /^pex/) $0 = "pex = false" if ($1 ~ /^seed_mode/) $0 = "seed_mode = false" } section == "[consensus]" { if ($1 ~ /^create_empty_blocks/) $0 = "create_empty_blocks = false" } { print } ' $INJ_HOME/config/config.toml > $INJ_HOME/config/config.tmp && mv $INJ_HOME/config/config.tmp $INJ_HOME/config/config.toml# Set log level to error (less disk writes = better performance)sed -i 's/^log_level *= *.*/log_level = "error"/' $INJ_HOME/config/app.toml