Step 002D: Download snapshot (mainnet) do /var/lib/solana/ledger (wymagane na mainnet)

Objaw (bez snapshot):
  Failed to start validator: ... did you forget to provide a snapshot

UWAGA:
- Snapshot full jest DUZY (setki GB). Ten krok moze trwac dlugo.
- Pobieramy full + incremental z oficjalnego endpointu (api.mainnet-beta.solana.com).

0) Stop validator
  sudo systemctl stop agave-validator

1) (Opcjonalnie, polecane) wyczysc stare dane ledger (zostaw genesis.*)
  sudo -u solana -H bash -lc '
    cd /var/lib/solana/ledger
    rm -rf rocksdb snapshots accounts_index accounts_hash_cache admin.rpc ledger.lock
    ls -la | head
  '

2) Pobierz FULL + INCREMENTAL snapshot do ledger (jako user `solana`)
  sudo -u solana -H bash -lc '
    set -euo pipefail
    cd /var/lib/solana/ledger

    FULL_REL="$(curl -sI https://api.mainnet-beta.solana.com/snapshot.tar.bz2 | awk "/^location:/{print \\$2}" | tr -d "\\r")"
    INC_REL="$(curl -sI https://api.mainnet-beta.solana.com/incremental-snapshot.tar.bz2 | awk "/^location:/{print \\$2}" | tr -d "\\r")"

    echo "FULL_REL=$FULL_REL"
    echo "INC_REL=$INC_REL"

    FULL_URL="https://api.mainnet-beta.solana.com${FULL_REL}"
    INC_URL="https://api.mainnet-beta.solana.com${INC_REL}"

    FULL_FILE="$(basename "$FULL_REL")"
    INC_FILE="$(basename "$INC_REL")"

    echo "Downloading FULL: $FULL_FILE"
    curl -fSL "$FULL_URL" -o "$FULL_FILE"
    ls -lh "$FULL_FILE"

    echo "Downloading INC:  $INC_FILE"
    curl -fSL "$INC_URL" -o "$INC_FILE"
    ls -lh "$INC_FILE"
  '

3) Start validator + logi
  sudo systemctl start agave-validator
  sudo journalctl -u agave-validator -n 80 --no-pager

