Skip to content

Node CLI - v2.0

  1. Download the executable

    Terminal window
    VERSION_NUM={put the version number here} && sudo -E bash -c "curl -L https://github.com/skalenetwork/node-cli/releases/download/$VERSION_NUM/skale-$VERSION_NUM-`uname -s`-`uname -m` > /usr/local/bin/skale"
  2. Apply executable permissions to the downloaded binary

    Terminal window
    chmod +x /usr/local/bin/skale
  3. Test the Installation

    Terminal window
    skale --help

Prints build info.

Terminal window
skale info

Prints version number.

Terminal window
skale version

Optional Arguments

  • --short prints the version only without additional text.

Retrieves the base info about SKALE node.

Terminal window
skale node info

Optional Arguments

  • -f/--format accepts either json or text as valid input which formats the output accordingly

Initialize a SKALE node on current machine.

Terminal window
skale node init [ENV_FILEPATH]

Required Parameters

  1. ENV_FILEPATH is a path to the .env file (required parameters are listed in the skale init command)
.env
# SGX server URL
SGX_SERVER_URL=
# disk mount point for storing sChains data
DISK_MOUNTPOINT=
# stream of docker-lvmpy to use
DOCKER_LVMPY_STREAM=
# stream of skale-node to use
CONTAINER_CONFIGS_STREAM=
# RPC endpoint of the node in the network where SKALE Manager is deployed
ENDPOINT=
# same as ENDPOINT
IMA_ENDPOINT=
# URL to SKALE Manager contracts ABI and addresses
MANAGER_CONTRACTS_ABI_URL=
# URL to IMA contracts ABI and addresses
IMA_CONTRACTS_ABI_URL=
# URL to the Filebeat log server (provided by SKALE Core team)
FILEBEAT_URL=
# Optional - Telegram API key
TG_API_KEY=
# Optional - Telegram chat ID
TG_CHAT_ID=
# Optional - will enable monitoring containers (cadvisor, node-exporter)
MONITORING_CONTAINERS=

Restores a SKALE node on another machine.

Terminal window
skale node restore [BACKUP_PATH] [ENV_FILEPATH]

Required Parameters

  1. BACKUP_PATH is the path to the archive with backup data generated by skale node backup command
  2. ENV_FILEPATH is the path to .env file (required parameters are listed in the skale init command)

Generates a backup file to restore SKALE node on another machine.

Terminal window
skale node backup [BACKUP_FOLDER_PATH]

Required Parameters

  1. BACKUP_FOLDER_PATH is the path to the folder where the backup tarball will be saved

Generates a node signature that is used to link node to a specific validator.

Terminal window
skale node signature [VALIDATOR_ID]

Required Parameters

  1. VALIDATOR_ID - id of the validator
Terminal window
skale node register

Required Arguments

  • --ip is the public IP for RPC connections and consensus
  • --domain/-d is the SKALE node domain name
  • --name is the SKALE node name

Optional Arguments

  • --port is a public port, the beginning of the port range for node SKALE Chains (default: 10000)

Updates a SKALE node on the current machine.

Terminal window
skale node update [ENV_FILEPATH]

Required Arguments

  • ENV_FILEPATH is the path to env file where parameters are defined

Optional Arguments

  • --yes executes without additional confirmation

Turns off the SKALE node on current machine and optionally sets it to maintenance mode.

Terminal window
skale node turn-off

Optional Arguments

  • --maintenance-on sets the SKALE node into maintenance mode before turning off
  • --yes executes without additional confirmation

Turns on SKALE node on current machine and optionally disables maintenance mode.

Terminal window
skale node turn-on [ENV_FILEPATH]

Optional Arguments

Required Parameters

  1. ENV_FILEPATH is the path to env file where parameters are defined

Optional Arguments

  • --maintenance-off turns off maintenance mode after turning on the node
  • --yes executes without additional confirmation

Enables maintenance mode on the node.

Terminal window
skale node maintenance-on

Optional Arguments

  • --yes executes without additional confirmation
Terminal window
skale node maintenance-off

Set SKALE node domain name

Terminal window
skale node set-domain

Optional Arguments

  • --domain/-d the SKALE node domain name
  • --yes executes without additional confirmation

Commands related to Ethereum wallet associated with SKALE node

Terminal window
skale wallet info

Optional Arguments

  • -f/--format formats the output. Valid inputs are json and text

Sends ETH tokens from the SKALE node wallet to a specific address.

Terminal window
skale wallet send [ADDRESS] [AMOUNT]

Required Parameters

  1. ADDRESS is the Ethereum receiver address
  2. AMOUNT is the Amount of ETH tokens to send

Optional Arguments

  • --yes executes without additional confirmation

Lists the SKALE Chains served by the connected node.

Terminal window
skale schains ls
Terminal window
skale schains config SCHAIN_NAME

Lists the DKG status for each SKALE Chain on the node.

Terminal window
skale schains dkg

Shows information about a specified SKALE Chain on the node.

Terminal window
skale schains info SCHAIN_NAME

Required Parameters

  1. SCHAIN_NAME is a valid sChain on the node

Optional Arguments

  • --json shows info in JSON format

Turn on repair mode for SKALE Chain

Terminal window
skale schains repair SCHAIN_NAME

Required Parameters

  1. SCHAIN_NAME is a valid sChain on the node

Optional Arguments

  • --yes executes repair without additional confirmation

Lists all SKALE containers running on the connected node.

Terminal window
skale health containers

Optional Arguments

  • -a/--all lists all containers (by default - only running)

Shows health check results for all SKALE Chains on the node.

Terminal window
skale health schains

Optional Arguments

  • --json shows info in JSON format

Checks status of the SGX server. Returns the SGX server URL and connection status.

Terminal window
$ skale health sgx
Terminal window
SGX server status:
┌────────────────┬────────────────────────────┐
SGX server URL https://0.0.0.0:1026/
├────────────────┼────────────────────────────┤
Status CONNECTED
└────────────────┴────────────────────────────┘

Retrieves the status of the SSL certificates on the node.

Terminal window
skale ssl status

Uploads new SSL certificates.

Terminal window
skale ssl upload

Required Arguments

  • -c/--cert-path is the path to the certificate file
  • -k/--key-path is the path to the key file

Optional Arguments

  • -f/--force overwrites the existing certificates

Fetch Node CLI logs.

Terminal window
skale logs cli

Optional Arguments

  • --debug shows debug logs with a more verbose output

Dumps all logs from the connected node.

Terminal window
skale logs dump [PATH]

Required Parameters

  1. PATH is the required path to dump the logs to

Optional Arguments

  • --container, -c - Dump logs only from specified container

Show the resources allocation file.

Terminal window
skale resources-allocation show

Generate (or updates if already exists) the allocation file.

Terminal window
skale resources-allocation generate [ENV_FILEPATH]

Required Parameters

  1. ENV_FILEPATH is the path to .env file (required parameters are listed in the skale init command)

Optional Arguments

  • --yes generates without additional confirmation
  • -f/--force rewrites allocation file if it exists

Checks whether ABI files contain valid JSON data.

Terminal window
skale validate abi

Optional Argument

  • --json shows the validation result in json format

Exit codes conventions for SKALE CLI tools.

CodeDescription
0Everything is OK
1General error exit code
3Bad API response
4Script execution error
7Bad user error
8Node state error