|
76 | 76 | __network="--config ${NETWORK}" |
77 | 77 | fi |
78 | 78 |
|
79 | | -if [[ ! "${NETWORK}" =~ ^https?:// && ! "${NODE_TYPE}" = "archive" ]]; then # Only configure prune parameters for named networks |
| 79 | +if [[ "${NODE_TYPE}" = "archive" ]]; then |
| 80 | + __flat="" |
| 81 | +else |
| 82 | + case "${NM_FLATDB}" in |
| 83 | + "") |
| 84 | + __flat="" |
| 85 | + ;; |
| 86 | + flat) |
| 87 | + echo "Enabling Nethermind FlatDB with Layout Flat" |
| 88 | + __flat="--FlatDb.Enabled=true --FlatDb.ImportFromPruningTrieState=true" |
| 89 | + ;; |
| 90 | + flatintrie) |
| 91 | + echo "Enabling Nethermind FlatDB with Layout FlatInTrie" |
| 92 | + __flat="--FlatDb.Enabled=true --FlatDb.ImportFromPruningTrieState=true --FlatDb.Layout=FlatInTrie" |
| 93 | + ;; |
| 94 | + *) |
| 95 | + __flat="" |
| 96 | + echo "Unknown value ${NM_FLATBD} for \"NETHERMIND_FLATDB\". Continuing without FlatDB." |
| 97 | + ;; |
| 98 | + esac |
| 99 | +fi |
| 100 | + |
| 101 | +__prune="" |
| 102 | +if [[ ! "${NETWORK}" =~ ^https?:// && "${NODE_TYPE}" != "archive" && -z "${__flat}" ]]; then # Only configure prune parameters for named networks |
80 | 103 | memtotal=$(awk '/MemTotal/ {printf "%d", int($2/1024/1024)}' /proc/meminfo) |
81 | 104 | parallel=$(($(nproc)/4)) |
82 | 105 | if [[ "${parallel}" -lt 2 ]]; then |
83 | 106 | parallel=2 |
84 | 107 | fi |
85 | | - __prune="--Pruning.FullPruningMaxDegreeOfParallelism=${parallel}" |
| 108 | + __prune="--Pruning.FullPruningMaxDegreeOfParallelism=${parallel} --Pruning.FullPruningCompletionBehavior=AlwaysShutdown --JsonRpc.AdditionalRpcUrls=http://127.0.0.1:1337|http|admin" |
86 | 109 | if [[ "${AUTOPRUNE_NM}" = true ]]; then |
87 | | - __prune="${__prune} --Pruning.FullPruningTrigger=VolumeFreeSpace" |
| 110 | + __prune+=" --Pruning.FullPruningTrigger=VolumeFreeSpace" |
88 | 111 | if [[ "${NETWORK}" =~ (mainnet|gnosis) ]]; then |
89 | 112 | __prune+=" --Pruning.FullPruningThresholdMb=375810" |
90 | 113 | else |
@@ -153,6 +176,10 @@ esac |
153 | 176 |
|
154 | 177 | echo "Using pruning parameters:" |
155 | 178 | echo "${__prune}" |
| 179 | +if [[ -n "${__flat}" ]]; then |
| 180 | + echo "Using FlatDB parameters:" |
| 181 | + echo "${__flat}" |
| 182 | +fi |
156 | 183 |
|
157 | 184 | # New or old datadir |
158 | 185 | if [[ -d /var/lib/nethermind-og/nethermind_db ]]; then |
@@ -318,4 +345,4 @@ set -- "${__args[@]}" |
318 | 345 |
|
319 | 346 | # Word splitting is desired for the command line parameters |
320 | 347 | # shellcheck disable=SC2086 |
321 | | -exec "$@" ${__datadir} ${__network} ${__prune} ${__grandine} ${EL_EXTRAS} |
| 348 | +exec "$@" ${__datadir} ${__network} ${__prune} ${__flat} ${__grandine} ${EL_EXTRAS} |
0 commit comments