From 38d7a3f9a0c5563e3da5b51a9779ec8c4a83a63b Mon Sep 17 00:00:00 2001 From: joshuayabut Date: Tue, 31 Jan 2017 21:26:58 -0500 Subject: [PATCH] Add init script for MacOS installs --- zcutil/init-mac.sh | 139 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100755 zcutil/init-mac.sh diff --git a/zcutil/init-mac.sh b/zcutil/init-mac.sh new file mode 100755 index 00000000..33ae1646 --- /dev/null +++ b/zcutil/init-mac.sh @@ -0,0 +1,139 @@ +#!/bin/bash + +set -eu + +if [[ "$OSTYPE" == "darwin"* ]]; then + PARAMS_DIR="$HOME/Library/Application Support/ZcashParams" +else + PARAMS_DIR="$HOME/.zcash-params" +fi + +SPROUT_PKEY_NAME='sprout-proving.key' +SPROUT_VKEY_NAME='sprout-verifying.key' +SPROUT_PKEY_URL="https://z.cash/downloads/$SPROUT_PKEY_NAME" +SPROUT_VKEY_URL="https://z.cash/downloads/$SPROUT_VKEY_NAME" + +SHA256CMD="$(command -v sha256sum || echo shasum)" +SHA256ARGS="$(command -v sha256sum >/dev/null || echo '-a 256')" + +function fetch_params { + local url="$1" + local output="$2" + local dlname="${output}.dl" + local expectedhash="$3" + + if ! [ -f "$output" ]; then + echo "Retrieving: $url" + if [[ $(sw_vers -productName) == "Mac OS X" ]]; then + curl \ + --output "$dlname" \ + -# -L -C - \ + "$url" + else + wget \ + --progress=dot:giga \ + --output-document="$dlname" \ + --continue \ + --retry-connrefused --waitretry=3 --timeout=30 \ + "$url" + fi + + "$SHA256CMD" $SHA256ARGS --check </$lockfile" + # acquire the lock + flock -n 200 \ + && return 0 \ + || return 1 + fi +} + +function exit_locked_error { + echo "Only one instance of fetch-params.sh can be run at a time." >&2 + exit 1 +} + +function main() { + + lock fetch-params.sh \ + || exit_locked_error + + cat <> "$README_PATH" < ~/Library/Application\ Support/Zclassic/zclassic.conf + PASSWORD=$(cat /dev/urandom | env LC_CTYPE=C tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) + echo "rpcpassword=$PASSWORD" >> "$HOME/Library/Application Support/Zclassic/zclassic.conf" + echo "Complete!" +fi + +exit 0 + +