Merge pull request #2041 from LeoHChen/option_to_change_base_port_in_nodesh

[node] option to specify the pub port
pull/2045/head
Leo Chen 5 years ago committed by GitHub
commit de34b1753c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 85
      scripts/node.sh

@ -1,6 +1,6 @@
#!/usr/bin/env bash
version="v1 20191105.1"
version="v1 20191221.0"
unset -v progname
progname="${0##*/}"
@ -94,7 +94,9 @@ function setup_env
print_usage() {
cat <<- ENDEND
usage: ${progname} [-1ch] [-k KEYFILE]
usage: ${progname} [options]
options:
-c back up database/logs and start clean
(use only when directed by Harmony)
-1 do not loop; run once and exit
@ -107,6 +109,7 @@ usage: ${progname} [-1ch] [-k KEYFILE]
-D do not download Harmony binaries (default: download when start)
-m collect and upload node metrics to harmony prometheus + grafana
-N network join the given network (mainnet, testnet, devnet; default: mainnet)
-n port specify the public base port of the node (default: 9000)
-t equivalent to -N testnet (deprecated)
-T nodetype specify the node type (validator, explorer; default: validator)
-i shardid specify the shard id (valid only with explorer node; default: 1)
@ -118,6 +121,7 @@ usage: ${progname} [-1ch] [-k KEYFILE]
-V print out the version of the Harmony binary
-z run in staking mode
-y run in legacy, foundational-node mode (default)
-M support multi-key mode (default: off)
examples:
@ -137,6 +141,9 @@ examples:
# upgrade harmony binaries from specified repo
${progname} -1 -U upgrade
# start the node in a different port 9010
${progname} -n 9010
ENDEND
}
@ -151,24 +158,25 @@ BUCKET=pub.harmony.one
OS=$(uname -s)
unset start_clean loop run_as_root blspass do_not_download download_only metrics network node_type shard_id download_harmony_db db_file_to_dl
unset upgrade_rel public_rpc staking_mode
unset upgrade_rel public_rpc staking_mode pub_port multi_key
start_clean=false
loop=true
run_as_root=true
do_not_download=false
download_only=false
metrics=false
network=main
network=mainnet
node_type=validator
shard_id=1
shard_id=-1
download_harmony_db=false
public_rpc=false
staking_mode=false
multi_key=false
${BLSKEYFILE=}
unset OPTIND OPTARG opt
OPTIND=1
while getopts :1chk:sSp:dDmN:tT:i:ba:U:PvVyz opt
while getopts :1chk:sSp:dDmN:tT:i:ba:U:PvVyzn:M opt
do
case "${opt}" in
'?') usage "unrecognized option -${OPTARG}";;
@ -183,8 +191,10 @@ do
p) blspass="${OPTARG}";;
d) download_only=true;;
D) do_not_download=true;;
M) multi_key=true;;
m) metrics=true;;
N) network="${OPTARG}";;
n) pub_port="${OPTARG}";;
t) network=devnet;;
T) node_type="${OPTARG}";;
i) shard_id="${OPTARG}";;
@ -431,35 +441,38 @@ if ${run_as_root}; then
check_root
fi
case "${BLSKEYFILE}" in
"")
unset -v f
for f in \
~/*--????-??-??T??-??-??.*Z--bls_???????????????????????????????????????????????????????????????????????????????????????????????? \
~/????????????????????????????????????????????????????????????????????????????????????????????????.key \
*--????-??-??T??-??-??.*Z--bls_???????????????????????????????????????????????????????????????????????????????????????????????? \
????????????????????????????????????????????????????????????????????????????????????????????????.key
do
[ -f "${f}" ] || continue
# multi_key mode will use specified keys in .hmy/multikeys directory
if ! ${multi_key}; then
case "${BLSKEYFILE}" in
"")
unset -v f
for f in \
~/*--????-??-??T??-??-??.*Z--bls_???????????????????????????????????????????????????????????????????????????????????????????????? \
~/????????????????????????????????????????????????????????????????????????????????????????????????.key \
*--????-??-??T??-??-??.*Z--bls_???????????????????????????????????????????????????????????????????????????????????????????????? \
????????????????????????????????????????????????????????????????????????????????????????????????.key
do
[ -f "${f}" ] || continue
case "${BLSKEYFILE}" in
"")
BLSKEYFILE="${f}"
;;
*)
[ "${f}" -ef "${BLSKEYFILE}" ] || \
err 69 "multiple key files found (${f}, ${BLSKEYFILE}); please use -k to specify"
;;
esac
done
case "${BLSKEYFILE}" in
"")
BLSKEYFILE="${f}"
;;
*)
[ "${f}" -ef "${BLSKEYFILE}" ] || \
err 69 "multiple key files found (${f}, ${BLSKEYFILE}); please use -k to specify"
;;
"") err 69 "could not autodetect BLS key file; please use -k to specify";;
esac
done
case "${BLSKEYFILE}" in
"") err 69 "could not autodetect BLS key file; please use -k to specify";;
msg "autodetected BLS key file: ${BLSKEYFILE}"
;;
*)
msg "using manually specified BLS key file: ${BLSKEYFILE}"
;;
esac
msg "autodetected BLS key file: ${BLSKEYFILE}"
;;
*)
msg "using manually specified BLS key file: ${BLSKEYFILE}"
;;
esac
fi
any_new_binaries() {
local outdir
@ -483,7 +496,7 @@ else
download_binaries . || err 69 "initial node software update failed"
fi
NODE_PORT=9000
NODE_PORT=${pub_port:-9000}
PUB_IP=
METRICS=
PUSHGATEWAY_IP=
@ -642,10 +655,14 @@ do
-ip "${PUB_IP}"
-port "${NODE_PORT}"
-is_genesis
-blskey_file "${BLSKEYFILE}"
-network_type="${network_type}"
-dns_zone="${dns_zone}"
)
if ! ${multi_key}; then
args+=(
-blskey_file "${BLSKEYFILE}"
)
fi
if ${public_rpc}; then
args+=(
-public_rpc

Loading…
Cancel
Save