mirror of
https://github.com/codex-storage/codex-testnet-starter.git
synced 2025-02-23 15:48:18 +00:00
* Add Codex artifacts to the .gitignore * Set Codex version using a variable * Set download source based on the network * Use multiple bootstrap nodes for Codex Testnet * Show download online hint to the checksum file as well * Accept user provided ethereum private key to save it locally
76 lines
3.5 KiB
Bash
Executable File
76 lines
3.5 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
source ./utils.sh
|
|
|
|
if [ -z "$LOCALIP" ]; then
|
|
if [ "${NETWORK}" == "workshop" ]; then
|
|
LOCALIP=$(get_ip)
|
|
else
|
|
LOCALIP=$(get_ip_public)
|
|
fi
|
|
fi
|
|
echo "LOCAL IP: ${LOCALIP}"
|
|
|
|
if [ ! -f eth.key ]; then
|
|
echo "eth.key does not exist. Please run generate.sh to create it."
|
|
exit 1
|
|
fi
|
|
|
|
# Set variables
|
|
OS=$(get_os)
|
|
ARCH=$(get_arch)
|
|
DATA_DIR="data_client"
|
|
|
|
mkdir -p ${DATA_DIR}
|
|
chmod 0700 ${DATA_DIR}
|
|
|
|
# Run on workshop - Local network SPR (Workshop NUC)
|
|
run_workshop() {
|
|
./codex-${VERSION}-${OS}-${ARCH} \
|
|
--data-dir=${DATA_DIR} \
|
|
--storage-quota=11811160064 \
|
|
--nat=${LOCALIP} \
|
|
--api-port=8080 \
|
|
--disc-port=8090 \
|
|
--listen-addrs=/ip4/0.0.0.0/tcp/8070 \
|
|
--bootstrap-node=spr:CiUIAhIhAnBsex_7L5xKJQpmAuOtubQEtKsgCOXE2vaJoTJXrprbEgIDARo8CicAJQgCEiECcGx7H_svnEolCmYC4625tAS0qyAI5cTa9omhMleumtsQnbm0tAYaCwoJBMCoWP2RAh-aKkcwRQIhANjwAV9DGFe4zcMUEHjuTsGWAPc7WB7uoSS86HATwouqAiA8dFhsALCSLsQbSOPF1j7NF643oEmPEJAwU9dIwjM6TA \
|
|
--api-cors-origin="*" \
|
|
--block-ttl=30d \
|
|
--log-level=${LOG_LEVEL} \
|
|
persistence \
|
|
--eth-private-key=eth.key \
|
|
--eth-provider=https://rpc.testnet.codex.storage
|
|
}
|
|
|
|
# Run on testnet - All Codex Testnet Cloud Bootstrap Node SPRs
|
|
run_testnet() {
|
|
./codex-${VERSION}-${OS}-${ARCH} \
|
|
--data-dir=${DATA_DIR} \
|
|
--storage-quota=11811160064 \
|
|
--nat=${LOCALIP} \
|
|
--api-port=8080 \
|
|
--disc-port=8090 \
|
|
--listen-addrs=/ip4/0.0.0.0/tcp/8070 \
|
|
--bootstrap-node=spr:CiUIAhIhAiJvIcA_ZwPZ9ugVKDbmqwhJZaig5zKyLiuaicRcCGqLEgIDARo8CicAJQgCEiECIm8hwD9nA9n26BUoNuarCEllqKDnMrIuK5qJxFwIaosQ3d6esAYaCwoJBJ_f8zKRAnU6KkYwRAIgM0MvWNJL296kJ9gWvfatfmVvT-A7O2s8Mxp8l9c8EW0CIC-h-H-jBVSgFjg3Eny2u33qF7BDnWFzo7fGfZ7_qc9P \
|
|
--bootstrap-node=spr:CiUIAhIhAyUvcPkKoGE7-gh84RmKIPHJPdsX5Ugm_IHVJgF-Mmu_EgIDARo8CicAJQgCEiEDJS9w-QqgYTv6CHzhGYog8ck92xflSCb8gdUmAX4ya78QoemesAYaCwoJBES39Q2RAnVOKkYwRAIgLi3rouyaZFS_Uilx8k99ySdQCP1tsmLR21tDb9p8LcgCIG30o5YnEooQ1n6tgm9fCT7s53k6XlxyeSkD_uIO9mb3 \
|
|
--bootstrap-node=spr:CiUIAhIhA6_j28xa--PvvOUxH10wKEm9feXEKJIK3Z9JQ5xXgSD9EgIDARo8CicAJQgCEiEDr-PbzFr74--85TEfXTAoSb195cQokgrdn0lDnFeBIP0QzOGesAYaCwoJBK6Kf1-RAnVEKkcwRQIhAPUH5nQrqG4OW86JQWphdSdnPA98ErQ0hL9OZH9a4e5kAiBBZmUl9KnhSOiDgU3_hvjXrXZXoMxhGuZ92_rk30sNDA \
|
|
--bootstrap-node=spr:CiUIAhIhA7E4DEMer8nUOIUSaNPA4z6x0n9Xaknd28Cfw9S2-cCeEgIDARo8CicAJQgCEiEDsTgMQx6vydQ4hRJo08DjPrHSf1dqSd3bwJ_D1Lb5wJ4Qt_CesAYaCwoJBEDhWZORAnVYKkYwRAIgFNzhnftocLlVHJl1onuhbSUM7MysXPV6dawHAA0DZNsCIDRVu9gnPTH5UkcRXLtt7MLHCo4-DL-RCMyTcMxYBXL0 \
|
|
--bootstrap-node=spr:CiUIAhIhAzZn3JmJab46BNjadVnLNQKbhnN3eYxwqpteKYY32SbOEgIDARo8CicAJQgCEiEDNmfcmYlpvjoE2Np1Wcs1ApuGc3d5jHCqm14phjfZJs4QrvWesAYaCwoJBKpA-TaRAnViKkcwRQIhANuMmZDD2c25xzTbKSirEpkZYoxbq-FU_lpI0K0e4mIVAiBfQX4yR47h1LCnHznXgDs6xx5DLO5q3lUcicqUeaqGeg \
|
|
--bootstrap-node=spr:CiUIAhIhAgybmRwboqDdUJjeZrzh43sn5mp8jt6ENIb08tLn4x01EgIDARo8CicAJQgCEiECDJuZHBuioN1QmN5mvOHjeyfmanyO3oQ0hvTy0ufjHTUQh4ifsAYaCwoJBI_0zSiRAnVsKkcwRQIhAJCb_z0E3RsnQrEePdJzMSQrmn_ooHv6mbw1DOh5IbVNAiBbBJrWR8eBV6ftzMd6ofa5khNA2h88OBhMqHCIzSjCeA \
|
|
--bootstrap-node=spr:CiUIAhIhAntGLadpfuBCD9XXfiN_43-V3L5VWgFCXxg4a8uhDdnYEgIDARo8CicAJQgCEiECe0Ytp2l-4EIP1dd-I3_jf5XcvlVaAUJfGDhry6EN2dgQsIufsAYaCwoJBNEmoCiRAnV2KkYwRAIgXO3bzd5VF8jLZG8r7dcLJ_FnQBYp1BcxrOvovEa40acCIDhQ14eJRoPwJ6GKgqOkXdaFAsoszl-HIRzYcXKeb7D9 \
|
|
--api-cors-origin="*" \
|
|
--block-ttl=30d \
|
|
--log-level=${LOG_LEVEL} \
|
|
persistence \
|
|
--eth-private-key=eth.key \
|
|
--eth-provider=https://rpc.testnet.codex.storage
|
|
}
|
|
|
|
# Run the client
|
|
if [ "${NETWORK}" == "workshop" ]; then
|
|
run_workshop
|
|
elif [ "${NETWORK}" == "testnet" ]; then
|
|
run_testnet
|
|
fi
|