diff --git a/compose_registry.json b/compose_registry.json index 23149ab8..93854223 100644 --- a/compose_registry.json +++ b/compose_registry.json @@ -264,6 +264,23 @@ "arbitrum-nova-nitro-archive-pebble-path" ] }, + { + "chain": "nova", + "client": "nitro", + "compose_file": "arb/nitro/arbitrum-nova-nitro-minimal-pebble-hash", + "features": [ + "hash", + "pebble" + ], + "network": "arbitrum", + "node": null, + "relay": null, + "stack": "arb", + "type": "minimal", + "volumes": [ + "arbitrum-nova-nitro-minimal-pebble-hash" + ] + }, { "chain": "nova", "client": "nitro", @@ -351,6 +368,23 @@ "arbitrum-one-nitro-archive-pebble-path" ] }, + { + "chain": "one", + "client": "nitro", + "compose_file": "arb/nitro/arbitrum-one-nitro-minimal-pebble-hash", + "features": [ + "hash", + "pebble" + ], + "network": "arbitrum", + "node": null, + "relay": null, + "stack": "arb", + "type": "minimal", + "volumes": [ + "arbitrum-one-nitro-minimal-pebble-hash" + ] + }, { "chain": "one", "client": "nitro", @@ -403,6 +437,23 @@ "arbitrum-sepolia-nitro-archive-pebble-hash" ] }, + { + "chain": "sepolia", + "client": "nitro", + "compose_file": "arb/nitro/arbitrum-sepolia-nitro-minimal-pebble-hash", + "features": [ + "hash", + "pebble" + ], + "network": "arbitrum", + "node": null, + "relay": null, + "stack": "arb", + "type": "minimal", + "volumes": [ + "arbitrum-sepolia-nitro-minimal-pebble-hash" + ] + }, { "chain": "sepolia", "client": "nitro", diff --git a/cosmos/gaiad/cosmos-mainnet-gaiad-pruned.yml b/cosmos/gaiad/cosmos-mainnet-gaiad-pruned.yml index 4f4dd734..3e5195a3 100644 --- a/cosmos/gaiad/cosmos-mainnet-gaiad-pruned.yml +++ b/cosmos/gaiad/cosmos-mainnet-gaiad-pruned.yml @@ -35,7 +35,7 @@ services: dockerfile: cometbft.Dockerfile args: CL_IMAGE: ${COSMOS_GAIAD_IMAGE:-ghcr.io/cosmos/gaia} - CL_VERSION: ${COSMOS_MAINNET_GAIAD_VERSION:-v25.3.2} + CL_VERSION: ${COSMOS_MAINNET_GAIAD_VERSION:-v27.4.0} sysctls: # TCP Performance net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle @@ -67,6 +67,7 @@ services: - P2P_PORT=12554 - PERSISTENT_PEERS=a7f14a48cd97c0eae7833849ccdf4e9418622c56@65.108.128.201:14956,37dfe1ec33e9f88f378a61a32462d57d2baa5e74@65.108.99.140:26656,f86d297a28da1a2b186583daf0e229c2b1449414@144.76.217.227:26656,66ca3161c5532da890815e40826ddbbbe2cb7f6c@176.9.101.44:26656 - STATESYNC_RPC=https://cosmos-rpc.polkachu.com:443 + - WASM_SNAPSHOT_URL=https://snapshots.polkachu.com/wasm/cosmos/cosmos_wasmonly.tar.lz4 restart: unless-stopped stop_grace_period: 5m networks: diff --git a/cosmos/scripts/init.sh b/cosmos/scripts/init.sh index 51a6b23f..a7d6d603 100644 --- a/cosmos/scripts/init.sh +++ b/cosmos/scripts/init.sh @@ -37,7 +37,29 @@ ct_patch_p2p "$CONFIG_DIR/config.toml" "$IP" "${P2P_PORT:-26656}" ct_merge_seeds "$CONFIG_DIR/config.toml" "$SEEDS" ct_set_persistent_peers "$CONFIG_DIR/config.toml" "$PERSISTENT_PEERS" ct_set_moniker "$CONFIG_DIR/config.toml" "$MONIKER" -ct_configure_statesync "$CONFIG_DIR/config.toml" "$STATESYNC_RPC" + +# Statesync ONLY on a fresh node. If application state already exists (a restored snapshot +# or prior sync), do NOT re-arm statesync — it would try to re-restore and, because statesync +# omits the CosmWasm + IBC 08-wasm blobs, the node panics at startup +# ("wasmlckeeper failed initialize pinned codes / Error opening Wasm file"). +if [ -e "$HOME_DIR/data/application.db" ]; then + ct_log "statesync: existing data dir, skipping" +else + ct_configure_statesync "$CONFIG_DIR/config.toml" "$STATESYNC_RPC" + # statesync restores IAVL state but NOT the wasm files gaia needs at startup. Seed them + # from the wasm-only snapshot (best-effort; the fully robust alternative for wasm chains is + # a full snapshot restore). Extracts wasm/ (CosmWasm) + the IBC 08-light-client wasm. + if [ -n "$WASM_SNAPSHOT_URL" ] && { [ ! -d "$HOME_DIR/wasm" ] || [ -z "$(ls -A "$HOME_DIR/wasm" 2>/dev/null)" ]; }; then + ct_log "fetching wasm snapshot $WASM_SNAPSHOT_URL" + ct_apk lz4 tar + if curl -sL "$WASM_SNAPSHOT_URL" | lz4 -dc | tar -xf - -C "$HOME_DIR"; then + ct_log "wasm snapshot extracted into $HOME_DIR" + else + ct_log "WARN wasm snapshot fetch/extract failed" + fi + fi +fi + ct_seed_priv_validator_state "$HOME_DIR" exec gaiad start --home "$HOME_DIR" --minimum-gas-prices "$MIN_GAS" "$@"