Commands
General commands
Help
Displays command reference.
A command line interface for Lisk
VERSION
lisk-commander/5.1.10 darwin-x64 node-v16.15.0
USAGE
$ lisk [COMMAND]
TOPICS
account Commands relating to Lisk accounts.
generate Commands relating to Lisk generator.
message Commands relating to user messages.
passphrase Commands relating to Lisk passphrases.
COMMANDS
autocomplete Display autocomplete installation instructions.
console Lisk interactive REPL (Read-eval-print loop), session to run commands.
hash-onion Create hash onions to be used by the forger.
help Display help for lisk.
init Bootstrap a blockchain application using Lisk SDK.
network-identifier Creates Network identifier for the given genesis block id and community identifier.
Init
Bootstrap a blockchain application using the Lisk SDK.
USAGE
$ lisk init [PROJECTPATH]
ARGUMENTS
PROJECTPATH [default: process.cwd] Path to create the project.
OPTIONS
-t, --template=template Template to bootstrap the application. It will read from `.liskrc.json` or use `lisk-ts` if not found.
--registry=registry URL of a registry to download dependencies from.
EXAMPLES
init
init --template lisk-ts
init --template @some-global-npm-package
init /project/path
init /project/path --template lisk-ts
Console
Lisk interactive REPL session to run commands.
USAGE
$ lisk console
OPTIONS
--api-ipc=api-ipc Enable api-client with IPC communication.
--api-ws=api-ws Enable api-client with Websocket communication.
EXAMPLES
console
console --api-ws=ws://localhost:8080
console --api-ipc=/path/to/server
Hash onion
Creates a hash onion output to be used by a forger.
Create hash onions to be used by the forger.
USAGE
$ lisk hash-onion
OPTIONS
-c, --count=count [default: 1000000] Total number of hashes to produce.
-d, --distance=distance [default: 1000] Distance between each hashes.
-o, --output=output Output file path.
--pretty Prints JSON in pretty format rather than condensed.
EXAMPLES
hash-onion --count=1000000 --distance=2000 --pretty
hash-onion --count=1000000 --distance=2000 --output ~/my_onion.json
Network identifier
Displays the Network identifier based on the payload hash of the genesis block of the network. The Network identifier needs to be provided everytime a transaction is signed, which ensures that the transaction can only be broadcasted in the dedicated network.
USAGE
$ lisk network-identifier GENESISBLOCKID
ARGUMENTS
GENESISBLOCKID ID of genesis block from the network.
OPTIONS
-j, --[no-]json Prints output in JSON format. You can change the default behavior in your
config.json file.
--community-identifier=community-identifier [default: Lisk] Unique community identifier for network.
--[no-]pretty Prints JSON in pretty format rather than condensed. Has no effect if the output is
set to table. You can change the default behavior in your config.json file.
DESCRIPTION
Creates Network identifier for the given genesis block id and community identifier.
EXAMPLE
network-identifier da3ed6a45429278bac2666961289ca17ad86595d33b31037615d4b8e8f158bba
Example JSON output
{ "networkIdentifier":"10f236f6d00a8f565bbe43c4ef0e3818f488bf4abefbe041155a3d019ef9a947" }
Autocomplete
Display instructions how to enable auto-completion for Lisk Commander commmands.
USAGE
$ lisk autocomplete [SHELL]
ARGUMENTS
SHELL shell type
OPTIONS
-r, --refresh-cache Refresh cache (ignores displaying instructions)
EXAMPLES
$ lisk autocomplete
$ lisk autocomplete bash
$ lisk autocomplete zsh
$ lisk autocomplete --refresh-cache
Account
Commands relating to Lisk accounts.
USAGE
$ lisk account:COMMAND
COMMANDS
account:create Return randomly-generated mnemonic passphrase with its corresponding public/private key pair and Lisk address.
account:show Show account information for a given passphrase.
Create account
This returns a randomly-generated mnemonic passphrase with its corresponding public/private key pair and Lisk address.
USAGE
$ lisk account:create
OPTIONS
-c, --count=count [default: 1] Number of accounts to create.
EXAMPLES
account:create
account:create --count=3
Example output
[
{
"passphrase": "panda abuse stamp hungry sad hour tent mesh narrow whale napkin file",
"privateKey": "a00c8107d40a8a678b5e9f4533bd4e740c446a1967300139b16fd62b0184cad51dc86a88278ee6db12ff671318677ec23b9ee6231cfca71a2c99c2ab78338cb1",
"publicKey": "1dc86a88278ee6db12ff671318677ec23b9ee6231cfca71a2c99c2ab78338cb1",
"binaryAddress": "3e565c6f2d22e0a3c1e4717672ec8ac61c2660f2",
"address": "lskna5m2sa9p5u6nu8p7msnmsp6227vo2nrzvczsq"
}
]
Show account
Shows account information for a given passphrase. It displays the Lisk address, the address as hexadecimal string, the publickey and the privatekey that belong to the entered passphrase:
USAGE
$ lisk account:show
OPTIONS
-p, --passphrase=passphrase Specifies a source for your secret passphrase.
Command will prompt you for input if this option is not set.
Examples:
- --passphrase='my secret passphrase' (should only be used where security is not important)
EXAMPLE
account:show
Example output
{
"privateKey": "a00c8107d40a8a678b5e9f4533bd4e740c446a1967300139b16fd62b0184cad51dc86a88278ee6db12ff671318677ec23b9ee6231cfca71a2c99c2ab78338cb1",
"publicKey": "1dc86a88278ee6db12ff671318677ec23b9ee6231cfca71a2c99c2ab78338cb1",
"address": "lskna5m2sa9p5u6nu8p7msnmsp6227vo2nrzvczsq",
"binaryAddress": "3e565c6f2d22e0a3c1e4717672ec8ac61c2660f2"
}
Generate
Commands to auto-generate different components of a blockchain application.
USAGE
$ lisk generate:COMMAND
COMMANDS
generate:asset Creates an asset skeleton for the given module name, name and id.
generate:module Creates a module skeleton for the given name and id.
generate:plugin Creates custom plugin.
Generate asset
Creates an asset skeleton for the given module name, asset name, and ID.
USAGE
$ lisk generate:asset MODULENAME ASSETNAME ASSETID
ARGUMENTS
MODULENAME Module name.
ASSETNAME Asset name.
ASSETID Asset Id.
OPTIONS
-t, --template=template Template to bootstrap the application. It will read from `.liskrc.json` or use `lisk-ts` if not found.
EXAMPLES
generate:asset moduleName assetName assetID
generate:asset nft transfer 1
Generate module
Creates a module skeleton for the given name and ID.
USAGE
$ lisk generate:module MODULENAME MODULEID
ARGUMENTS
MODULENAME Module name.
MODULEID Module Id, should be atleast 1000 or more
OPTIONS
-t, --template=template Template to bootstrap the application. It will read from `.liskrc.json` or use `lisk-ts` if not found.
EXAMPLE
generate:module nft 5000
Generate plugin
Creates a custom plugin for the given alias.
USAGE
$ lisk generate:plugin ALIAS
ARGUMENTS
ALIAS Alias of the plugin.
OPTIONS
-o, --output=output Path to create the plugin.
-t, --template=template Template to bootstrap the application. It will read from `.liskrc.json` or use `lisk-ts` if not found.
--registry=registry URL of a registry to download dependencies from.
--standalone Create a standalone plugin package.
EXAMPLES
generate:plugin my-plugin
generate:plugin my-plugin --standalone --output ./myplugin
Message
Commands relating to user messages.
USAGE
$ lisk message:COMMAND
COMMANDS
message:decrypt
message:encrypt
message:sign
message:verify
Decrypt message
Decrypts a previously encrypted message from a given sender public key for a known nonce using your secret passphrase.
Important: As the secret passphrase is a sensitive input, it can be provided using one of the methods described in the Sensitive Inputs section.
The encrypted message can be provided either directly as an argument, or by specifying a source with the |
USAGE
$ lisk message:decrypt SENDERPUBLICKEY NONCE [MESSAGE]
ARGUMENTS
SENDERPUBLICKEY Public key of the sender of the message.
NONCE Nonce used during encryption.
MESSAGE Encrypted message.
OPTIONS
-j, --[no-]json
Prints output in JSON format. You can change the default behavior in your config.json file.
-m, --message=message
Specifies a source for providing a message to the command. If a string is provided directly as an argument, this option will be
ignored. The message must be provided via an argument or via this option. Sources must be one of `file` or `stdin`. In the case
of `file`, a corresponding identifier must also be provided.
Note: if both secret passphrase and message are passed via stdin, the passphrase must be the first line.
Examples:
- --message=file:/path/to/my/message.txt
- --message="hello world"
-p, --passphrase=passphrase
Specifies a source for your secret passphrase. Command will prompt you for input if this option is not set.
Examples:
- --passphrase='my secret passphrase' (should only be used where security is not important)
--[no-]pretty
Prints JSON in pretty format rather than condensed. Has no effect if the output is set to table. You can change the default
behavior in your config.json file.
DESCRIPTION
Decrypts a previously encrypted message from a given sender public key for a known nonce using your secret passphrase.
EXAMPLE
message:decrypt bba7e2e6a4639c431b68e31115a71ffefcb4e025a4d1656405dfdcd8384719e0 4b800d90d54eda4d093b5e4e6bf9ed203bc90e1560bd628d dcaa605af45a4107a699755237b4c08e1ef75036743d7e4814dea7
Example JSON output
{
"message": "My very secret message"
}
Encrypt message
This encrypts a message for a given recipient public key using your secret passphrase.
This command uses the Lisk Elements passphrase module to encrypt a message you provide for a given public key using a randomly generated nonce. In order to decrypt the encrypted message later the recipient will need your public key, (in order to verify that the message came from you), including the nonce and the secret passphrase which matches the specified public key.
Important: As the secret passphrase is a sensitive input, it can be provided using one of the methods described in the Sensitive Inputs section.
The encrypted message can be provided either directly as an argument, or by specifying a source with the |
USAGE
$ lisk message:encrypt RECIPIENTPUBLICKEY [MESSAGE]
ARGUMENTS
RECIPIENTPUBLICKEY Public key of the recipient of the message.
MESSAGE Message to encrypt.
OPTIONS
-j, --[no-]json
Prints output in JSON format. You can change the default behavior in your config.json file.
-m, --message=message
Specifies a source for providing a message to the command. If a string is provided directly as an argument, this option will be ignored. The message must be provided via an argument or via this option. Sources must be one of `file` or
`stdin`. In the case of `file`, a corresponding identifier must also be provided.
Note: if both secret passphrase and message are passed via stdin, the passphrase must be the first line.
Examples:
- --message=file:/path/to/my/message.txt
- --message="hello world"
-p, --passphrase=passphrase
Specifies a source for your secret passphrase. Command will prompt you for input if this option is not set.
Examples:
- --passphrase='my secret passphrase' (should only be used where security is not important)
--[no-]pretty
Prints JSON in pretty format rather than condensed. Has no effect if the output is set to table. You can change the default behavior in your config.json file.
DESCRIPTION
Encrypts a message for a given recipient public key using your secret passphrase.
EXAMPLE
message:encrypt bba7e2e6a4639c431b68e31115a71ffefcb4e025a4d1656405dfdcd8384719e0 "Hello world"
Example output
╔════════════════════╤══════════════════════════════════════════════════════════════════╗
║ nonce │ 30809550cb5b6ff216ff54b15478a2fe2504b94b14c1b769 ║
╟────────────────────┼──────────────────────────────────────────────────────────────────╢
║ encryptedMessage │ 13bde81028e8ef57d901a52b2f0abec54624c761c32b625725b7be ║
╟────────────────────┼──────────────────────────────────────────────────────────────────╢
║ recipientPublicKey │ bba7e2e6a4639c431b68e31115a71ffefcb4e025a4d1656405dfdcd8384719e0 ║
╚════════════════════╧══════════════════════════════════════════════════════════════════╝
Sign message
Signs a message using your secret passphrase.
This command signs the message. Your specific passphrase is required here.
Important: As the secret passphrase is a sensitive input, it can be provided using one of the methods described in the Sensitive Inputs section.
The encrypted message can be provided either directly as an argument, or by specifying a source with the |
USAGE
$ lisk message:sign [MESSAGE]
ARGUMENTS
MESSAGE Message to sign.
OPTIONS
-j, --[no-]json
Prints output in JSON format. You can change the default behavior in your config.json file.
-m, --message=message
Specifies a source for providing a message to the command. If a string is provided directly as an argument, this option will be ignored. The message must be provided via an argument or via this option. Sources must be one of `file` or
`stdin`. In the case of `file`, a corresponding identifier must also be provided.
Note: if both secret passphrase and message are passed via stdin, the passphrase must be the first line.
Examples:
- --message=file:/path/to/my/message.txt
- --message="hello world"
-p, --passphrase=passphrase
Specifies a source for your secret passphrase. Command will prompt you for input if this option is not set.
Examples:
- --passphrase='my secret passphrase' (should only be used where security is not important)
--[no-]pretty
Prints JSON in pretty format rather than condensed. Has no effect if the output is set to table. You can change the default behavior in your config.json file.
DESCRIPTION
Signs a message using your secret passphrase.
EXAMPLE
message:sign "Hello world"
Example JSON output
{
"message":"Hello world",
"publicKey": {
"type":"Buffer",
"data":[174,58,164,8,181,249,93,155,182,211,4,222,143,67,127,175,119,248,52,110,148,128,32,161,14,82,222,212,90,117,6,125]},"signature":{"type":"Buffer","data":[125,8,61,132,237,240,197,194,37,132,91,135,229,28,139,65,9,169,236,99,139,205,84,114,202,205,50,2,188,160,94,34,20,200,78,236,113,90,31,119,174,0,21,0,63,175,149,238,219,160,55,174,156,245,85,43,208,24,20,111,116,110,180,9]
}
}
Verify message
Verifies a signature for a message using the signer’s public key.
This command verifies a message after being signed with the sign message command. The public key, signature and message are required.
USAGE
$ lisk message:verify PUBLICKEY SIGNATURE [MESSAGE]
ARGUMENTS
PUBLICKEY Public key of the signer of the message.
SIGNATURE Signature to verify.
MESSAGE Message to verify.
OPTIONS
-j, --[no-]json
Prints output in JSON format. You can change the default behavior in your config.json file.
-m, --message=message
Specifies a source for providing a message to the command. If a string is provided directly as an argument, this option will be ignored. The message must be provided via an argument or via this option. Sources must be one of `file` or
`stdin`. In the case of `file`, a corresponding identifier must also be provided.
Note: if both secret passphrase and message are passed via stdin, the passphrase must be the first line.
Examples:
- --message=file:/path/to/my/message.txt
- --message="hello world"
--[no-]pretty
Prints JSON in pretty format rather than condensed. Has no effect if the output is set to table. You can change the default behavior in your config.json file.
DESCRIPTION
Verifies a signature for a message using the signer’s public key.
EXAMPLE
message:verify 647aac1e2df8a5c870499d7ddc82236b1e10936977537a3844a6b05ea33f9ef6 2a3ca127efcf7b2bf62ac8c3b1f5acf6997cab62ba9fde3567d188edcbacbc5dc8177fb88d03a8691ce03348f569b121bca9e7a3c43bf5c056382f35ff843c09 "Hello world"
Example JSON output
{
"verified": true
}
Passphrase
Commands relating to Lisk passphrases.
USAGE
$ lisk passphrase:COMMAND
COMMANDS
passphrase:decrypt Decrypt secret passphrase using the password provided at the time of encryption.
passphrase:encrypt Encrypt secret passphrase using password.
Decrypt passphrase
Decrypts your secret passphrase using the password which was provided at the time of encryption.
The following command listed below decrypts your secret passphrase after being encrypted with the encrypted passphrase command. The password which was used to encrypt the secret passphrase, as well as the initialisation vector (IV), which was randomly generated at the time of encryption will be required here:
Important: As the secret passphrase is a sensitive input, it can be provided using one of the methods described in the Sensitive Inputs section.
The encrypted message can be provided either directly as an argument, or by specifying a source with the |
USAGE
$ lisk passphrase:decrypt ENCRYPTEDPASSPHRASE
ARGUMENTS
ENCRYPTEDPASSPHRASE Encrypted passphrase to decrypt.
OPTIONS
-w, --password=password Specifies a source for your secret password. Command will prompt you for input if this option is not set.
Examples:
- --password=pass:password123 (should only be used where security is not important)
--pretty Prints JSON in pretty format rather than condensed.
EXAMPLES
passphrase:decrypt "iterations=1000000&cipherText=9b1c60&iv=5c8843f52ed3c0f2aa0086b0&salt=2240b7f1aa9c899894e528cf5b600e9c&tag=23c01112134317a63bcf3d41ea74e83b&version=1"
passphrase:decrypt "iterations=1000000&cipherText=9b1c60&iv=5c8843f52ed3c0f2aa0086b0&salt=2240b7f1aa9c899894e528cf5b600e9c&tag=23c01112134317a63bcf3d41ea74e83b&version=1" --password your-password
Example JSON output
{
"passphrase": "minute omit local rare sword knee banner pair rib museum shadow juice"
}
Encrypt passphrase
Encrypts your secret passphrase under a password.
This command uses AES-256-CBC to encrypt your secret passphrase under a password you provide using a randomly generated initialisation vector (IV). In order to decrypt the secret passphrase later you will need both the IV and the password.
Important: As the secret passphrase is a sensitive input, it can be provided using one of the methods described in the Sensitive Inputs section.
The encrypted message can be provided either directly as an argument, or by specifying a source with the |
USAGE
$ lisk passphrase:encrypt
OPTIONS
-p, --passphrase=passphrase Specifies a source for your secret passphrase. Command will prompt you for input if this option is not set.
Examples:
- --passphrase='my secret passphrase' (should only be used where security is not important)
-w, --password=password Specifies a source for your secret password. Command will prompt you for input if this option is not set.
Examples:
- --password=pass:password123 (should only be used where security is not important)
--output-public-key Includes the public key in the output. This option is provided for the convenience of node operators.
--pretty Prints JSON in pretty format rather than condensed.
EXAMPLES
passphrase:encrypt
passphrase:encrypt --passphrase your-passphrase
passphrase:encrypt --password your-password
passphrase:encrypt --password your-password --passphrase your-passphrase --pretty
passphrase:encrypt --output-public-key
Example JSON output
{
"encryptedPassphrase":"iterations=1000000&cipherText=b472f9ad7fe2f0ca636df9d6bbacb585aeea72c0ccfe7d983b89fd864179452f184b333a150c88a82059f6bdbc327af90f000c29cd49cb608afa3ee55fc6e39ce203ab2bd381f0d400499adb&iv=ff0a48ade9dec58e65ce463c&salt=3e725655193277d49942da324fa0ed66&tag=cd6d9aabff7cac4a83b2e69386452a56&version=1"
}