2018-06-18 15:23:56 -07:00
|
|
|
#!/bin/bash
|
2018-06-24 10:10:55 -07:00
|
|
|
#
|
2018-06-26 16:46:17 -07:00
|
|
|
# usage: $0 <rsync network path to solana repo on leader machine> <number of nodes in the network>"
|
2018-06-24 10:10:55 -07:00
|
|
|
#
|
2018-05-27 18:19:07 -07:00
|
|
|
|
2018-06-24 10:10:55 -07:00
|
|
|
here=$(dirname "$0")
|
|
|
|
# shellcheck source=multinode-demo/common.sh
|
|
|
|
source "$here"/common.sh
|
2018-05-27 18:19:07 -07:00
|
|
|
|
2018-07-13 23:37:56 -07:00
|
|
|
leader=$1
|
|
|
|
if [[ -z $leader ]]; then
|
|
|
|
if [[ -d "$SNAP" ]]; then
|
|
|
|
leader=testnet.solana.com # Default to testnet when running as a Snap
|
|
|
|
else
|
|
|
|
leader=$here/.. # Default to local solana repo
|
|
|
|
fi
|
|
|
|
fi
|
2018-06-24 10:10:55 -07:00
|
|
|
count=${2:-1}
|
2018-05-27 18:19:07 -07:00
|
|
|
|
2018-06-26 16:46:17 -07:00
|
|
|
rsync_leader_url=$(rsync_url "$leader")
|
|
|
|
|
2018-06-24 10:10:55 -07:00
|
|
|
set -ex
|
2018-07-02 17:08:39 -07:00
|
|
|
mkdir -p "$SOLANA_CONFIG_CLIENT_DIR"
|
2018-07-02 22:13:47 -06:00
|
|
|
if [[ ! -r "$SOLANA_CONFIG_CLIENT_DIR"/leader.json ]]; then
|
|
|
|
(
|
|
|
|
set -x
|
|
|
|
$rsync -vPz "$rsync_leader_url"/config/leader.json "$SOLANA_CONFIG_CLIENT_DIR"/
|
|
|
|
)
|
|
|
|
fi
|
|
|
|
|
|
|
|
client_json="$SOLANA_CONFIG_CLIENT_DIR"/client.json
|
|
|
|
if [[ ! -r $client_json ]]; then
|
2018-07-12 16:29:49 -06:00
|
|
|
$solana_keygen -o "$client_json"
|
2018-07-02 22:13:47 -06:00
|
|
|
fi
|
2018-06-14 17:11:55 -07:00
|
|
|
|
2018-06-24 10:10:55 -07:00
|
|
|
# shellcheck disable=SC2086 # $solana_client_demo should not be quoted
|
|
|
|
exec $solana_client_demo \
|
2018-07-12 19:47:56 -06:00
|
|
|
-n "$count" -l "$SOLANA_CONFIG_CLIENT_DIR"/leader.json -k "$SOLANA_CONFIG_CLIENT_DIR"/client.json
|