Publish daily BTC price in public remoteStorage #581
@ -4,35 +4,32 @@
|
||||
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
|
||||
echo "Starting price tracking for $YESTERDAY" >&2
|
||||
|
||||
# Get USD data and extract values
|
||||
usd_data=$(curl -s "https://www.bitstamp.net/api/v2/ticker/btcusd/")
|
||||
if [ $? -eq 0 ] && [ ! -z "$usd_data" ]; then
|
||||
echo "Successfully retrieved USD price data" >&2
|
||||
usd_open24=$(echo $usd_data | jq -r '.open_24')
|
||||
usd_last=$(echo $usd_data | jq -r '.last')
|
||||
else
|
||||
echo "ERROR: Failed to retrieve USD price data" >&2
|
||||
exit 1
|
||||
fi
|
||||
# Fetch and process rates for a fiat currency
|
||||
get_price_data() {
|
||||
local currency=$1
|
||||
local data avg open24 last
|
||||
|
||||
# Get EUR data and extract values
|
||||
eur_data=$(curl -s "https://www.bitstamp.net/api/v2/ticker/btceur/")
|
||||
if [ $? -eq 0 ] && [ ! -z "$eur_data" ]; then
|
||||
echo "Successfully retrieved EUR price data" >&2
|
||||
eur_open24=$(echo $eur_data | jq -r '.open_24')
|
||||
eur_last=$(echo $eur_data | jq -r '.last')
|
||||
else
|
||||
echo "ERROR: Failed to retrieve EUR price data" >&2
|
||||
exit 1
|
||||
fi
|
||||
data=$(curl -s "https://www.bitstamp.net/api/v2/ticker/btc${currency,,}/")
|
||||
if [ $? -eq 0 ] && [ ! -z "$data" ]; then
|
||||
echo "Successfully retrieved ${currency} price data" >&2
|
||||
open24=$(echo "$data" | jq -r '.open_24')
|
||||
last=$(echo "$data" | jq -r '.last')
|
||||
avg=$(( (${open24%.*} + ${last%.*}) / 2 ))
|
||||
echo $avg
|
||||
else
|
||||
echo "ERROR: Failed to retrieve ${currency} price data" >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Calculate averages
|
||||
usd_avg=$(( (${usd_open24%.*} + ${usd_last%.*}) / 2 ))
|
||||
eur_avg=$(( (${eur_open24%.*} + ${eur_last%.*}) / 2 ))
|
||||
echo "Calculated averages - USD: $usd_avg, EUR: $eur_avg" >&2
|
||||
# Get price data for each currency
|
||||
usd_avg=$(get_price_data "USD")
|
||||
eur_avg=$(get_price_data "EUR")
|
||||
gbp_avg=$(get_price_data "GBP")
|
||||
|
||||
# Create JSON
|
||||
json="{\"EUR\":$eur_avg,\"USD\":$usd_avg}"
|
||||
json="{\"EUR\":$eur_avg,\"USD\":$usd_avg,\"GBP\":$gbp_avg}"
|
||||
echo "Rates: $json" >&2
|
||||
|
||||
# PUT in remote storage
|
||||
response=$(curl -X PUT \
|
||||
|
Loading…
x
Reference in New Issue
Block a user