forked from ghostchain/ghost-node
session key helper added
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
This commit is contained in:
parent
7b59411e5f
commit
e850ed9aea
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
set -Ee
|
set -Ee
|
||||||
|
|
||||||
|
CHECK_KEYS=false
|
||||||
|
INSERT_KEYS=false
|
||||||
UNIT_FILE=false
|
UNIT_FILE=false
|
||||||
SKIP_BUILD=false
|
SKIP_BUILD=false
|
||||||
SET_ENVIRONMENT=false
|
SET_ENVIRONMENT=false
|
||||||
@ -46,6 +48,8 @@ help() {
|
|||||||
echo -e "-u, --unit-file\n\tCreation of systemd unit file."
|
echo -e "-u, --unit-file\n\tCreation of systemd unit file."
|
||||||
echo -e "-m, --make-global\n\tStore compiled ghost executable and chain specification globally."
|
echo -e "-m, --make-global\n\tStore compiled ghost executable and chain specification globally."
|
||||||
echo -e "-a, --set-arguments\n\tPrepare CLI arguments for running ghost node."
|
echo -e "-a, --set-arguments\n\tPrepare CLI arguments for running ghost node."
|
||||||
|
echo -e "-k, --check-keys\n\tCheck if your keys are already included in 'ghosties' file."
|
||||||
|
echo -e "-r, --insert-keys\n\tInsert session keys to the keystore via JSON RPC."
|
||||||
echo -e "-r, --release\n\tCompile node with '--release' flag."
|
echo -e "-r, --release\n\tCompile node with '--release' flag."
|
||||||
echo -e "-p, --profile\n\tCompile node with '--profile [PROFILE]' flag."
|
echo -e "-p, --profile\n\tCompile node with '--profile [PROFILE]' flag."
|
||||||
echo -e "-f, --features\n\tCompilation features '--features=\"FEATURE1,FEATURE2\"'"
|
echo -e "-f, --features\n\tCompilation features '--features=\"FEATURE1,FEATURE2\"'"
|
||||||
@ -79,6 +83,12 @@ while [ $# -gt 0 ]; do
|
|||||||
--set-arguments|-a)
|
--set-arguments|-a)
|
||||||
ARGUMENTS=true
|
ARGUMENTS=true
|
||||||
;;
|
;;
|
||||||
|
--check-keys|-k)
|
||||||
|
CHECK_KEYS=true
|
||||||
|
;;
|
||||||
|
--insert-keys|-k)
|
||||||
|
INSERT_KEYS=true
|
||||||
|
;;
|
||||||
--release|-r)
|
--release|-r)
|
||||||
RELEASE="--release"
|
RELEASE="--release"
|
||||||
TARGET="release"
|
TARGET="release"
|
||||||
@ -292,6 +302,11 @@ if [[ $ARGUMENTS = true ]]; then
|
|||||||
CLI_ARGS+=("--no-prometheus")
|
CLI_ARGS+=("--no-prometheus")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
read -p "[?] list of bootnodes if any: " bootnodes
|
||||||
|
if [ ! -z $bootnodes ]; then
|
||||||
|
CLI_ARGS+=("--bootnodes=$bootnodes")
|
||||||
|
fi
|
||||||
|
|
||||||
# default for now
|
# default for now
|
||||||
CLI_ARGS+=("--base-path=$NODE_PATH")
|
CLI_ARGS+=("--base-path=$NODE_PATH")
|
||||||
CLI_ARGS+=("--state-pruning=archive")
|
CLI_ARGS+=("--state-pruning=archive")
|
||||||
@ -308,3 +323,49 @@ if [[ $ARGUMENTS = true ]]; then
|
|||||||
echo "[+] new CLI arguments stored in '/etc/default/ghost'"
|
echo "[+] new CLI arguments stored in '/etc/default/ghost'"
|
||||||
cat /etc/default/ghost
|
cat /etc/default/ghost
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ $CHECK_KEYS = true ]; then
|
||||||
|
read -p "[?] path to the file with session key: (default: /etc/ghost/session-key) " seed_path
|
||||||
|
seed_path="${seed_path:-/etc/ghost/session-key}"
|
||||||
|
if [ ! -f $seed_path ]; then
|
||||||
|
echo "[-] path to session keys not valid"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "[+] path $seed_path is valid"
|
||||||
|
seed=$(cat $seed_path)
|
||||||
|
|
||||||
|
if [ $INSERT_KEYS = true ]; then
|
||||||
|
read -p "[?] JSON RPC endpoint to the node: (default: localhost:9945) " rpc_endpoint
|
||||||
|
rpc_endpoint="${rpc_endpoint:-localhost:9945}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for type in $(echo audi babe gran slow); do
|
||||||
|
echo "[+] parsing session key for [$type]"
|
||||||
|
scheme="sr25519"
|
||||||
|
if [ $type = "gran" ]; then
|
||||||
|
scheme="ed25519"
|
||||||
|
fi
|
||||||
|
|
||||||
|
secret_seed=$(ghost key inspect --scheme="$scheme" "$seed//$type" | grep "Secret seed" | awk '{ print $3 }')
|
||||||
|
account_id=$(ghost key inspect --scheme="$scheme" "$seed//$type" | grep "Account ID" | awk '{ print $3 }')
|
||||||
|
|
||||||
|
echo "[+] inspected account id: $account_id"
|
||||||
|
num_keys=$(grep $account_id "$PROJECT_FOLDER/service/ghosties" | wc -l)
|
||||||
|
num_types=$(grep $account_id "$PROJECT_FOLDER/service/ghosties" | grep $type | wc -l)
|
||||||
|
if [ ! $num_keys = 1 ] || [ ! $num_types = 1 ]; then
|
||||||
|
echo "[-] inspected account id not found on 'ghosties' file or wrong key type"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[+] inspected account id found in 'ghosties' file with correct key type"
|
||||||
|
|
||||||
|
if [ $INSERT_KEYS = true ]; then
|
||||||
|
echo "[+] trying to make an 'author_insertKey' RPC call to $rpc_endpoint..."
|
||||||
|
curl --location $rpc_endpoint \
|
||||||
|
--header "Content-Type: application/json" \
|
||||||
|
--data '{ "id":1, "jsonrpc":"2.0", "method":"author_insertKey", "params": ["'"$type"'", "'"$secret_seed"'", "'"$account_id"'"] }'
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user