Skip to content

Node CLI - v2.0

Installation

  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

Top Level Commands

Info

Prints build info.

Terminal window
skale info

Version

Prints version number.

Terminal window
skale version

Optional Arguments

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

Node Commands

Node Information

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

Node Initialization

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=

Node Initialization from Backup

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)

Node Backup

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

Node Signature

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

Node Registration

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)

Node Update

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

Node Turn-off

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

Node Turn-on

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

Enable Maintenance Mode

Enables maintenance mode on the node.

Terminal window
skale node maintenance-on

Optional Arguments

  • --yes executes without additional confirmation

Disable Maintenance Mode

Terminal window
skale node maintenance-off

Domain name

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

Wallet commands

Commands related to Ethereum wallet associated with SKALE node

Wallet information

Terminal window
skale wallet info

Optional Arguments

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

Send ETH tokens

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

sChain commands

List sChains on Node

Lists the SKALE Chains served by the connected node.

Terminal window
skale schains ls

Get sChain Config

Terminal window
skale schains config SCHAIN_NAME

Get sChain DKG Status

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

Terminal window
skale schains dkg

Get sChain Info

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

Repair sChain

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

Health commands

List Containers

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)

Healthcheck for sChains

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

Terminal window
skale health schains

Optional Arguments

  • --json shows info in JSON format

SGX Commands

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

Terminal window
$ skale health sgx

Example Output

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

SSL Commands

SSL Status

Retrieves the status of the SSL certificates on the node.

Terminal window
skale ssl status

Upload Certificates

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

Logs Commands

CLI Logs

Fetch Node CLI logs.

Terminal window
skale logs cli

Optional Arguments

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

Dump Logs

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

Resources Allocation Commands

Show Allocation File

Show the resources allocation file.

Terminal window
skale resources-allocation show

Generate/Update

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

Validate commands

Validate ABI

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

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