Add top-level run.sh for easy local cluster startup
This commit is contained in:
57
run.sh
Executable file
57
run.sh
Executable file
@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Run a minimal Solana cluster. Ctrl-C to exit.
|
||||
#
|
||||
# Before running this script ensure standard Solana programs are available
|
||||
# in the PATH, or that `cargo build --all` ran successfully
|
||||
#
|
||||
set -e
|
||||
|
||||
# Prefer possible `cargo build --all` binaries over PATH binaries
|
||||
PATH=$PWD/targt/debug:$PATH
|
||||
|
||||
ok=true
|
||||
for program in solana-{genesis,keygen,fullnode{,-config}}; do
|
||||
$program -V || ok=false
|
||||
done
|
||||
$ok || {
|
||||
echo
|
||||
echo "Unable to locate required programs. Try building them first with:"
|
||||
echo
|
||||
echo " $ cargo build --all"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
export RUST_LOG=${RUST_LOG:-solana=info} # if RUST_LOG is unset, default to info
|
||||
export RUST_BACKTRACE=1
|
||||
dataDir=$PWD/target/"$(basename "$0" .sh)"
|
||||
|
||||
set -x
|
||||
solana-keygen -o "$dataDir"/config/leader-keypair.json
|
||||
solana-keygen -o "$dataDir"/config/drone-keypair.json
|
||||
|
||||
solana-fullnode-config \
|
||||
--keypair="$dataDir"/config/leader-keypair.json -l > "$dataDir"/config/leader-config.json
|
||||
solana-genesis \
|
||||
--num_tokens 1000000000 \
|
||||
--mint "$dataDir"/config/drone-keypair.json \
|
||||
--bootstrap-leader-keypair "$dataDir"/config/leader-keypair.json \
|
||||
--ledger "$dataDir"/ledger
|
||||
|
||||
solana-drone --keypair "$dataDir"/config/drone-keypair.json &
|
||||
drone=$!
|
||||
|
||||
solana-fullnode \
|
||||
--identity "$dataDir"/config/leader-config.json \
|
||||
--ledger "$dataDir"/ledger/ \
|
||||
--rpc-port 8899 &
|
||||
fullnode=$!
|
||||
|
||||
abort() {
|
||||
kill "$drone" "$fullnode"
|
||||
}
|
||||
|
||||
trap abort SIGINT SIGTERM
|
||||
wait "$fullnode"
|
||||
kill "$drone" "$fullnode"
|
Reference in New Issue
Block a user