Copy zcutil/fetch-params.sh from the private alpha branch, changing the file names.

This commit is contained in:
Taylor Hornby 2015-12-15 01:26:04 -07:00
parent 8a18333567
commit 0c5b41f0ce
1 changed files with 69 additions and 0 deletions

69
zcutil/fetch-params.sh Executable file
View File

@ -0,0 +1,69 @@
#!/bin/bash
set -eu
PARAMS_DIR="$HOME/.zcash-params"
REGTEST_PKEY_NAME='zc-testnet-public-alpha-proving.key'
REGTEST_VKEY_NAME='zc-testnet-public-alpha-verification.key'
REGTEST_PKEY_URL="https://zca.sh/downloads/$REGTEST_PKEY_NAME"
REGTEST_VKEY_URL="https://zca.sh/downloads/$REGTEST_VKEY_NAME"
REGTEST_DIR="$PARAMS_DIR/regtest"
# Note: This assumes cwd is set appropriately!
function fetch_params {
local url="$1"
local filename="$(echo "$url" | sed 's,^.*/,,')"
if ! [ -f "$filename" ]
then
echo "Retrieving: $url"
wget --progress=dot:giga "$url"
fi
}
cat <<EOF
zcash - fetch-params.sh
EOF
# Now create PARAMS_DIR and insert a README if necessary:
if ! [ -d "$PARAMS_DIR" ]
then
mkdir -p "$PARAMS_DIR"
README_PATH="$PARAMS_DIR/README"
cat >> "$README_PATH" <<EOF
This directory stores common zcash zkSNARK parameters. Note that is is
distinct from the daemon's -datadir argument because the parameters are
large and may be shared across multiple distinct -datadir's such as when
setting up test networks.
EOF
# This may be the first time the user's run this script, so give
# them some info, especially about bandwidth usage:
cat <<EOF
This script will fetch the zerocash zkSNARK parameters and verify their
integrity with sha256sum.
The parameters currently are about 2GiB in size, so plan accordingly
for your bandwidth constraints. If the files are already present and
have the correct sha256sum, no networking is used.
Creating params directory. For details about this directory, see:
$README_PATH
EOF
fi
mkdir -p "$REGTEST_DIR"
cd "$REGTEST_DIR"
fetch_params "$REGTEST_PKEY_URL"
fetch_params "$REGTEST_VKEY_URL"
# Now verify their hashes:
echo 'Verifying parameter file integrity via sha256sum...'
sha256sum --check - <<EOF
bc03442cc53fa53a681809afa64c91e8c37d2db1f51eb2355e4fe181d24ce878 $REGTEST_PKEY_NAME
67d60eeb10541ec2086e56d8dffa850e371b69ddb82fc5686c26921ad2b0f654 $REGTEST_VKEY_NAME
EOF