Skip to content
Snippets Groups Projects
Commit 6c61129c authored by Hugo Trentesaux's avatar Hugo Trentesaux Committed by Hugo Trentesaux
Browse files

add chain arg to generate key command

parent 2cdcc273
Branches
Tags
1 merge request!309Resolve "Generate key command is missing chain argument"
...@@ -21,27 +21,45 @@ function ternary () { ...@@ -21,27 +21,45 @@ function ternary () {
fi fi
} }
# Define chain name at the beginning
# with #274 we could have default given in network branch
DUNITER_CHAIN_NAME="${DUNITER_CHAIN_NAME:-dev}"
case "$DUNITER_CHAIN_NAME" in
dev)
chain=(--dev)
;;
*)
chain=(--chain "$DUNITER_CHAIN_NAME")
;;
esac
# Node name will appear on network
DUNITER_NODE_NAME="${DUNITER_NODE_NAME:-$DUNITER_INSTANCE_NAME}" DUNITER_NODE_NAME="${DUNITER_NODE_NAME:-$DUNITER_INSTANCE_NAME}"
if [ -n "$DUNITER_NODE_NAME" ]; then if [ -n "$DUNITER_NODE_NAME" ]; then
set -- "$@" --name "$DUNITER_NODE_NAME" set -- "$@" --name "$DUNITER_NODE_NAME"
fi fi
# Path of key file. Should be generated below if not present before starting Duniter
_DUNITER_KEY_FILE=/var/lib/duniter/node.key _DUNITER_KEY_FILE=/var/lib/duniter/node.key
set -- "$@" --node-key-file "$_DUNITER_KEY_FILE" set -- "$@" --node-key-file "$_DUNITER_KEY_FILE"
# Generate node.key if not existing (chain name is required)
if [ ! -f "$_DUNITER_KEY_FILE" ]; then if [ ! -f "$_DUNITER_KEY_FILE" ]; then
echo "Generating node key file '$_DUNITER_KEY_FILE'..." echo "Generating node key file '$_DUNITER_KEY_FILE'..."
duniter key generate-node-key --file "$_DUNITER_KEY_FILE" duniter key generate-node-key --file "$_DUNITER_KEY_FILE" "${chain[@]}"
else else
echo "Node key file '$_DUNITER_KEY_FILE' exists." echo "Node key file '$_DUNITER_KEY_FILE' exists."
fi fi
# Log peer ID
_DUNITER_PEER_ID="$(duniter key inspect-node-key --file "$_DUNITER_KEY_FILE")" _DUNITER_PEER_ID="$(duniter key inspect-node-key --file "$_DUNITER_KEY_FILE")"
echo "Node peer ID is '$_DUNITER_PEER_ID'." echo "Node peer ID is '$_DUNITER_PEER_ID'."
# Define public address (with dns, correct port and protocol for instance)
if [ -n "$DUNITER_PUBLIC_ADDR" ]; then if [ -n "$DUNITER_PUBLIC_ADDR" ]; then
set -- "$@" --public-addr "$DUNITER_PUBLIC_ADDR" set -- "$@" --public-addr "$DUNITER_PUBLIC_ADDR"
fi fi
# Define listen address (inside docker)
if [ -n "$DUNITER_LISTEN_ADDR" ]; then if [ -n "$DUNITER_LISTEN_ADDR" ]; then
set -- "$@" --listen-addr "$DUNITER_LISTEN_ADDR" set -- "$@" --listen-addr "$DUNITER_LISTEN_ADDR"
fi fi
...@@ -49,6 +67,7 @@ fi ...@@ -49,6 +67,7 @@ fi
DUNITER_RPC_CORS="${DUNITER_RPC_CORS:-all}" DUNITER_RPC_CORS="${DUNITER_RPC_CORS:-all}"
set -- "$@" --rpc-cors "$DUNITER_RPC_CORS" set -- "$@" --rpc-cors "$DUNITER_RPC_CORS"
# In case of validator, unsafe rpc methods are needed (like rotate_key) and should not be exposed publicly
DUNITER_VALIDATOR=$(boolean "${DUNITER_VALIDATOR:-false}") DUNITER_VALIDATOR=$(boolean "${DUNITER_VALIDATOR:-false}")
if [ "$DUNITER_VALIDATOR" = true ]; then if [ "$DUNITER_VALIDATOR" = true ]; then
set -- "$@" --rpc-methods Unsafe --validator set -- "$@" --rpc-methods Unsafe --validator
...@@ -64,6 +83,7 @@ if [ "$DUNITER_DISABLE_TELEMETRY" = true ]; then ...@@ -64,6 +83,7 @@ if [ "$DUNITER_DISABLE_TELEMETRY" = true ]; then
set -- "$@" --no-telemetry set -- "$@" --no-telemetry
fi fi
# Set pruning profile
DUNITER_PRUNING_PROFILE="${DUNITER_PRUNING_PROFILE:-default}" DUNITER_PRUNING_PROFILE="${DUNITER_PRUNING_PROFILE:-default}"
case "$DUNITER_PRUNING_PROFILE" in case "$DUNITER_PRUNING_PROFILE" in
default) default)
...@@ -79,16 +99,9 @@ case "$DUNITER_PRUNING_PROFILE" in ...@@ -79,16 +99,9 @@ case "$DUNITER_PRUNING_PROFILE" in
;; ;;
esac esac
DUNITER_CHAIN_NAME="${DUNITER_CHAIN_NAME:-dev}" # Set main command
case "$DUNITER_CHAIN_NAME" in # Since we are inside docker, we can bind to all interfaces.
dev) # User will bind port to host interface or set reverse proxy when needed.
chain=(--dev)
;;
*)
chain=(--chain "$DUNITER_CHAIN_NAME")
;;
esac
set -- "$@" \ set -- "$@" \
"${chain[@]}" \ "${chain[@]}" \
-d /var/lib/duniter --unsafe-rpc-external -d /var/lib/duniter --unsafe-rpc-external
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment