Compare commits

...

2 Commits

Author SHA1 Message Date
rockstardev
405c50bc02
Adding both blocks and chainstate folders in same operation 2025-04-23 16:54:11 -05:00
rockstardev
2f69338fa4
Compressing snapshot file 2025-04-23 16:02:03 -05:00
3 changed files with 31 additions and 11 deletions

View File

@ -96,11 +96,33 @@ NETWORK_DIRECTORY="$BITCOIN_DATA_DIR/$NETWORK_DIRECTORY"
[ -d "$NETWORK_DIRECTORY/chainstate" ] && rm -rf "$NETWORK_DIRECTORY/chainstate"
[ ! -d "$NETWORK_DIRECTORY" ] && mkdir "$NETWORK_DIRECTORY"
echo "Extracting..."
if ! tar -xf "$TAR_FILE" -C "$BITCOIN_DATA_DIR"; then
echo "Failed extracting, did you turned bitcoin off? (btcpay-down.sh)"
exit 1
# Detect if snapshot is compressed based on URL
if [[ $TAR_NAME == *.tar.gz ]]; then
COMPRESSED=true
TAR_SUFFIX=".tar.gz"
elif [[ $TAR_NAME == *.tar ]]; then
COMPRESSED=false
TAR_SUFFIX=".tar"
else
echo "Error: Unsupported snapshot format in URL (expected .tar or .tar.gz suffix)"
exit 1
fi
echo "Detected snapshot format: ${TAR_SUFFIX} (Compressed: ${COMPRESSED})"
echo "Extracting..."
if $COMPRESSED; then
if ! tar -xzvf "$TAR_FILE" -C "$BITCOIN_DATA_DIR"; then
echo "Error: Failed to extract compressed snapshot from $TAR_FILE, did you turned bitcoin off? (btcpay-down.sh)"
exit 1
fi
else
if ! tar -xvf "$TAR_FILE" -C "$BITCOIN_DATA_DIR"; then
echo "Error: Failed to extract uncompressed snapshot from $TAR_FILE, did you turned bitcoin off? (btcpay-down.sh)"
exit 1
fi
fi
$IS_DOWNLOADED && rm -f "$TAR_FILE"
BTCPAY_DATA_DIR="$(docker volume inspect generated_btcpay_datadir -f "{{.Mountpoint}}" 2>/dev/null)" || \

View File

@ -23,13 +23,11 @@ if [[ $NBITCOIN_NETWORK == "testnet" ]]; then
fi
cd /data
TAR_NAME="utxo-snapshot-bitcoin-$NBITCOIN_NETWORK-$PRUNED_HEIGHT.tar"
TAR_NAME="utxo-snapshot-bitcoin-$NBITCOIN_NETWORK-$PRUNED_HEIGHT.tar.gz"
echo "Creating $TAR_NAME..."
echo "Adding $NETWORK_DIRECTORY/blocks/*"
cd "$NETWORK_DIRECTORY"
tar -cvf "$TAR_NAME" "blocks/"
echo "Adding $NETWORK_DIRECTORY/chainstate/*"
tar -rvf "$TAR_NAME" "chainstate/"
echo "Adding $NETWORK_DIRECTORY/blocks/ and $NETWORK_DIRECTORY/chainstate/* to $TAR_NAME"
tar -czvf "$TAR_NAME" "blocks/" "chainstate/"
[[ $NBITCOIN_NETWORK == "mainnet" ]] || mv "$TAR_NAME" "/data/$TAR_NAME"
echo "TAR file created to /data/$TAR_NAME"
exit

View File

@ -33,7 +33,7 @@ docker-compose -f $BTCPAY_DOCKER_COMPOSE run --rm -e "NBITCOIN_NETWORK=$NBITCOIN
btcpay-up.sh
echo "Calculating the hash of the tar file..."
TAR_FILE="$(echo /var/lib/docker/volumes/generated_bitcoin_datadir/_data/utxo-snapshot-*)"
TAR_FILE="$(echo /var/lib/docker/volumes/generated_bitcoin_datadir/_data/utxo-snapshot-*.tar.gz)"
echo "Tar file of size $(ls -s -h $TAR_FILE)"
TAR_FILE_HASH="$(sha256sum "$TAR_FILE" | cut -d " " -f 1)"
@ -46,7 +46,7 @@ if [[ "$AZURE_STORAGE_CONNECTION_STRING" ]]; then
az storage blob upload -f "$TAR_FILE" \
-c "$AZURE_STORAGE_CONTAINER" \
-n "$BLOB_NAME" \
--content-type "application/x-tar"
--content-type "application/gzip"
az storage blob metadata update --container-name "$AZURE_STORAGE_CONTAINER" --name "$BLOB_NAME" --metadata "sha256=$TAR_FILE_HASH"