1
0

Do not upload to azure if not configure

This commit is contained in:
nicolas.dorier
2018-11-30 00:22:20 +09:00
parent c1f065ec2e
commit bcc8d8e965
2 changed files with 34 additions and 29 deletions

View File

@@ -13,16 +13,16 @@ echo "Waiting bitcoind to stop..."
$BITCOIN_CLI stop $BITCOIN_CLI stop
wait $BITCOIND_PID wait $BITCOIND_PID
NETWORK_DIRECTORY=$NETWORK NETWORK_DIRECTORY=$NBITCOIN_NETWORK
if [[ $NETWORK == "mainnet" ]]; then if [[ $NBITCOIN_NETWORK == "mainnet" ]]; then
NETWORK_DIRECTORY="." NETWORK_DIRECTORY="."
fi fi
if [[ $NETWORK == "testnet" ]]; then if [[ $NBITCOIN_NETWORK == "testnet" ]]; then
NETWORK_DIRECTORY="testnet3" NETWORK_DIRECTORY="testnet3"
fi fi
cd /data cd /data
TAR_NAME="utxo-snapshot-bitcoin-$NETWORK-$PRUNED_HEIGHT.tar" TAR_NAME="utxo-snapshot-bitcoin-$NBITCOIN_NETWORK-$PRUNED_HEIGHT.tar"
echo "Creating $TAR_NAME..." echo "Creating $TAR_NAME..."
tar -cf "$TAR_NAME" "$NETWORK_DIRECTORY/blocks/" tar -cf "$TAR_NAME" "$NETWORK_DIRECTORY/blocks/"
tar -rf "$TAR_NAME" "$NETWORK_DIRECTORY/chainstate/" tar -rf "$TAR_NAME" "$NETWORK_DIRECTORY/chainstate/"

View File

@@ -2,44 +2,49 @@
# This script shows the steps to create an archive of the current UTXO Set # This script shows the steps to create an archive of the current UTXO Set
exit 1 # This script is not meant to run automatically : "${AZURE_STORAGE_CONTAINER:=public}"
## ARGS#
NETWORK="mainnet"
export AZURE_STORAGE_CONTAINER="public"
export AZURE_STORAGE_CONNECTION_STRING=""
#######
# IN THE HOST ############################################################# # IN THE HOST #############################################################
# Stop btcpay # Stop btcpay
btcpay-down.sh btcpay-down.sh
for i in /var/lib/docker/volumes/generated_bitcoin_datadir/_data/utxo-snapshot-*; do
echo "Deleting $i"
rm $i
done
rm /var/lib/docker/volumes/generated_bitcoin_datadir/_data/utxo-snapshot-*
# Run only bitcoind and connect to it # Run only bitcoind and connect to it
SCRIPT="$(cat save-utxo-set-in-bitcoind.sh)" SCRIPT="$(cat save-utxo-set-in-bitcoind.sh)"
cd "`dirname $BTCPAY_ENV_FILE`" cd "`dirname $BTCPAY_ENV_FILE`"
docker-compose -f $BTCPAY_DOCKER_COMPOSE run -e "NETWORK=$NETWORK" bitcoind bash -c "$SCRIPT" docker-compose -f $BTCPAY_DOCKER_COMPOSE run -e "NBITCOIN_NETWORK=$NBITCOIN_NETWORK" bitcoind bash -c "$SCRIPT"
btcpay-up.sh 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_FILE_HASH="$(sha256sum "$TAR_FILE" | cut -d " " -f 1)" TAR_FILE_HASH="$(sha256sum "$TAR_FILE" | cut -d " " -f 1)"
echo "SHA256: $TAR_FILE_HASH"
echo "Uploading to azure..."
# Install az from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest
BLOB_NAME="$(basename -- $TAR_FILE)" if [[ "$AZURE_STORAGE_CONNECTION_STRING" ]]; then
az storage container create --name "$AZURE_STORAGE_CONTAINER" --public-access "blob" echo "Uploading to azure..."
az storage blob upload -f "$TAR_FILE" \ # Install az from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest
-c "$AZURE_STORAGE_CONTAINER" \
-n "$BLOB_NAME" \
--content-type "application/x-tar"
az storage blob metadata update --container-name "$AZURE_STORAGE_CONTAINER" --name "$BLOB_NAME" --metadata "sha256=$TAR_FILE_HASH" BLOB_NAME="$(basename -- $TAR_FILE)"
az storage container create --name "$AZURE_STORAGE_CONTAINER" --public-access "blob"
az storage blob upload -f "$TAR_FILE" \
-c "$AZURE_STORAGE_CONTAINER" \
-n "$BLOB_NAME" \
--content-type "application/x-tar"
# Print the sha256sum. Downloaders will need to verify this az storage blob metadata update --container-name "$AZURE_STORAGE_CONTAINER" --name "$BLOB_NAME" --metadata "sha256=$TAR_FILE_HASH"
STORAGE_URL="$(az storage blob url --container-name "$AZURE_STORAGE_CONTAINER" --name "$BLOB_NAME" --protocol "http")"
echo "You can now download the UTXO on $STORAGE_URL" # Print the sha256sum. Downloaders will need to verify this
echo "Please, after download, verify the sha256 with:" STORAGE_URL="$(az storage blob url --container-name "$AZURE_STORAGE_CONTAINER" --name "$BLOB_NAME" --protocol "http")"
echo "echo "$TAR_FILE_HASH $BLOB_NAME" | sha256sum -c -" echo "You can now download the UTXO on $STORAGE_URL"
rm "$TAR_FILE" echo "Please, after download, verify the sha256 with:"
echo "echo "$TAR_FILE_HASH $BLOB_NAME" | sha256sum -c -"
rm "$TAR_FILE"
else
echo "SHA256: $TAR_FILE_HASH"
echo "File at: $TAR_FILE"
fi