diff --git a/README.md b/README.md index 789d6a5927..419106bab3 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ your odds of success if you check out the before proceeding: ```bash -$ git checkout v0.7.2 +$ git checkout v0.8.0 ``` Configuration Setup @@ -113,7 +113,7 @@ To run a multinode testnet, after starting a leader node, spin up some validator separate shells: ```bash -$ ./multinode-demo/validator.sh ubuntu@10.0.1.51:~/solana 10.0.1.51 +$ ./multinode-demo/validator.sh ``` To run a performance-enhanced leader or validator (on Linux), @@ -123,22 +123,20 @@ your system: ```bash $ ./fetch-perf-libs.sh $ SOLANA_CUDA=1 ./multinode-demo/leader.sh -$ SOLANA_CUDA=1 ./multinode-demo/validator.sh ubuntu@10.0.1.51:~/solana 10.0.1.51 +$ SOLANA_CUDA=1 ./multinode-demo/validator.sh ``` - Testnet Client Demo --- -Now that your singlenode or multinode testnet is up and running let's send it some transactions! Note that we pass in -the expected number of nodes in the network. If running singlenode, pass 1; if multinode, pass the number -of validators you started. +Now that your singlenode or multinode testnet is up and running let's send it +some transactions! In a separate shell start the client: ```bash -$ ./multinode-demo/client.sh ubuntu@10.0.1.51:~/solana 1 +$ ./multinode-demo/client.sh # runs against localhost by default ``` What just happened? The client demo spins up several threads to send 500,000 transactions @@ -155,7 +153,7 @@ Public Testnet In this example the client connects to our public testnet. To run validators on the testnet you would need to open udp ports `8000-10000`. ```bash -$ ./multinode-demo/client.sh testnet.solana.com 1 #The minumum number of nodes to discover on the network +$ ./multinode-demo/client.sh --network $(dig +short testnet.solana.com):8001 --identity config-private/client-id.json --duration 60 ``` You can observe the effects of your client's transactions on our [dashboard](https://metrics.solana.com:3000/d/testnet/testnet-hud?orgId=2&from=now-30m&to=now&refresh=5s&var-testnet=testnet) diff --git a/multinode-demo/client.sh b/multinode-demo/client.sh index d9b4e98628..0bac248894 100755 --- a/multinode-demo/client.sh +++ b/multinode-demo/client.sh @@ -18,10 +18,8 @@ usage() { exit 1 } -if [[ -z $1 ]]; then - mkdir -p config-client - [[ -r config-client/client-id.json ]] || $solana_keygen -o config-client/client-id.json - $solana_bench_tps --identity config-client/client-id.json --network 127.0.0.1:8001 +if [[ -z $1 ]]; then # default behavior + $solana_bench_tps --identity config-private/client-id.json --network 127.0.0.1:8001 --duration 90 else $solana_bench_tps "$@" fi diff --git a/multinode-demo/setup.sh b/multinode-demo/setup.sh index 9888817036..ffcd0e7c4f 100755 --- a/multinode-demo/setup.sh +++ b/multinode-demo/setup.sh @@ -34,6 +34,7 @@ ip_address_arg=-l num_tokens=1000000000 node_type_leader=true node_type_validator=true +node_type_client=true while getopts "h?n:lpt:" opt; do case $opt in h|\?) @@ -55,10 +56,17 @@ while getopts "h?n:lpt:" opt; do leader) node_type_leader=true node_type_validator=false + node_type_client=false ;; validator) node_type_leader=false node_type_validator=true + node_type_client=false + ;; + client) + node_type_leader=false + node_type_validator=false + node_type_client=true ;; *) usage "Error: unknown node type: $node_type" @@ -74,13 +82,19 @@ done set -e -if $node_type_leader; then - for i in "$SOLANA_CONFIG_DIR" "$SOLANA_CONFIG_PRIVATE_DIR"; do - echo "Cleaning $i" - rm -rvf "$i" - mkdir -p "$i" - done +for i in "$SOLANA_CONFIG_DIR" "$SOLANA_CONFIG_VALIDATOR_DIR" "$SOLANA_CONFIG_PRIVATE_DIR"; do + echo "Cleaning $i" + rm -rvf "$i" + mkdir -p "$i" +done +if $node_type_client; then + client_id_path="$SOLANA_CONFIG_PRIVATE_DIR"/client-id.json + $solana_keygen -o "$client_id_path" + ls -lhR "$SOLANA_CONFIG_PRIVATE_DIR"/ +fi + +if $node_type_leader; then leader_address_args=("$ip_address_arg") leader_id_path="$SOLANA_CONFIG_PRIVATE_DIR"/leader-id.json mint_path="$SOLANA_CONFIG_PRIVATE_DIR"/mint.json @@ -102,11 +116,6 @@ fi if $node_type_validator; then - echo "Cleaning $SOLANA_CONFIG_VALIDATOR_DIR" - rm -rvf "$SOLANA_CONFIG_VALIDATOR_DIR" - mkdir -p "$SOLANA_CONFIG_VALIDATOR_DIR" - - validator_address_args=("$ip_address_arg" -b 9000) validator_id_path="$SOLANA_CONFIG_PRIVATE_DIR"/validator-id.json