-
Notifications
You must be signed in to change notification settings - Fork 171
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
110 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
#!/bin/bash | ||
|
||
# Check if `--no-purge` passed as a parameter | ||
NO_PURGE=0 | ||
for arg in "$@"; do | ||
if [ "$arg" = "--no-purge" ]; then | ||
NO_PURGE=1 | ||
break | ||
fi | ||
done | ||
|
||
# Determine the directory this script resides in. This allows invoking it from any location. | ||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)" | ||
|
||
# The base directory of the subtensor project | ||
BASE_DIR="$SCRIPT_DIR/.." | ||
|
||
# get parameters | ||
# Get the value of fast_blocks from the first argument | ||
fast_blocks=${1:-"True"} | ||
|
||
# Check the value of fast_blocks | ||
if [ "$fast_blocks" == "False" ]; then | ||
# Block of code to execute if fast_blocks is False | ||
echo "fast_blocks is Off" | ||
: "${CHAIN:=local}" | ||
: "${BUILD_BINARY:=1}" | ||
: "${FEATURES:="pow-faucet"}" | ||
else | ||
# Block of code to execute if fast_blocks is not False | ||
echo "fast_blocks is On" | ||
: "${CHAIN:=local}" | ||
: "${BUILD_BINARY:=1}" | ||
: "${FEATURES:="pow-faucet fast-blocks"}" | ||
fi | ||
|
||
SPEC_PATH="${SCRIPT_DIR}/specs/" | ||
FULL_PATH="$SPEC_PATH$CHAIN.json" | ||
|
||
# Kill any existing nodes which may have not exited correctly after a previous | ||
# run. | ||
pkill -9 'node-subtensor' | ||
|
||
if [ ! -d "$SPEC_PATH" ]; then | ||
echo "*** Creating directory ${SPEC_PATH}..." | ||
mkdir $SPEC_PATH | ||
fi | ||
|
||
if [[ $BUILD_BINARY == "1" ]]; then | ||
echo "*** Building substrate binary..." | ||
cargo build --profile=release --workspace --features "$FEATURES" --manifest-path "$BASE_DIR/Cargo.toml" | ||
echo "*** Binary compiled" | ||
fi | ||
|
||
echo "*** Building chainspec..." | ||
"$BASE_DIR/target/release/node-subtensor" build-spec --disable-default-bootnode --raw --chain $CHAIN >$FULL_PATH | ||
echo "*** Chainspec built and output to file" | ||
|
||
# generate node keys | ||
$BASE_DIR/target/release/node-subtensor key generate-node-key --chain="$FULL_PATH" --base-path ../chain-states/dev-state/alice | ||
$BASE_DIR/target/release/node-subtensor key generate-node-key --chain="$FULL_PATH" --base-path ../chain-states/dev-state/bob | ||
|
||
if [ $NO_PURGE -eq 1 ]; then | ||
echo "*** Purging previous state skipped..." | ||
else | ||
echo "*** Purging previous state..." | ||
"$BASE_DIR/target/release/node-subtensor" purge-chain -y --base-path ../chain-states/dev-state/bob --chain="$FULL_PATH" >/dev/null 2>&1 | ||
"$BASE_DIR/target/release/node-subtensor" purge-chain -y --base-path ../chain-states/dev-state/alice --chain="$FULL_PATH" >/dev/null 2>&1 | ||
echo "*** Previous chainstate purged" | ||
fi | ||
|
||
echo "*** Starting localnet nodes..." | ||
alice_start=( | ||
"$BASE_DIR/target/release/node-subtensor" | ||
--dev | ||
--base-path ../chain-states/dev-state/alice | ||
# --chain="$FULL_PATH" | ||
--alice | ||
--port 30334 | ||
--rpc-port 9944 | ||
--validator | ||
--rpc-cors=all | ||
--allow-private-ipv4 | ||
--discover-local | ||
--unsafe-force-node-key-generation | ||
--offchain-worker=Never | ||
) | ||
|
||
bob_start=( | ||
"$BASE_DIR"/target/release/node-subtensor | ||
--base-path ../chain-states/dev-state/bob | ||
--chain="$FULL_PATH" | ||
--bob | ||
--port 30335 | ||
--rpc-port 9945 | ||
--validator | ||
--rpc-cors=all | ||
--allow-private-ipv4 | ||
--discover-local | ||
--unsafe-force-node-key-generation | ||
) | ||
|
||
trap 'pkill -P $$' EXIT SIGINT SIGTERM | ||
|
||
( | ||
("${alice_start[@]}" 2>&1) | ||
# ("${bob_start[@]}" 2>&1) | ||
wait | ||
) |