Commands

Account

All available commands relating to Lisk accounts are covered here.

Create account

This returns a randomly-generated mnemonic passphrase with its corresponding public/private key pair and Lisk address.

USAGE
  $ lisk account:create

OPTIONS
  -j, --[no-]json      Prints output in JSON format. You can change the default behavior in your
                       config.json file.

  -n, --number=number  [default: 1] Number of accounts to create.

  --[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
  Returns a randomly-generated mnemonic passphrase with its corresponding public/private key pair and
  Lisk address.

EXAMPLES
  account:create
  account:create --number=3

Example JSON output

{
    "passphrase": "account reform outdoor curtain animal zoo best gain super glue bacon endless",
    "privateKey": "c0554188319a911aec70a6e044cbf69ec0da19269d11e8cd4e2b5ee18afe4402f7425ba1b192e07639a0304531e21117ccc1852279b6ec7c296b18bd95bcc4c3",
    "publicKey": "f7425ba1b192e07639a0304531e21117ccc1852279b6ec7c296b18bd95bcc4c3",
    "address": "9292797545729948557L"
}

Get account

How to get the information about one or several accounts from the blockchain.

USAGE
  $ lisk account:get ADDRESSES

ARGUMENTS
  ADDRESSES  Comma-separated address(es) to get information about.

OPTIONS
  -j, --[no-]json  Prints output in JSON format. You can change the default behaviour in your config.json file.

  --[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 behaviour in your config.json file.

DESCRIPTION
  Gets account information from the blockchain.

EXAMPLES
  account:get 10045031187186962062L
  account:get 3520445367460290306L,2802325248134221536L

Example JSON output

[
    {
    		"address": "10045031187186962062L",
    		"publicKey": "910913de3007e6bbc9b56cf0c298d4c24784a400cf1fd76f992578aad7f3163b",
    		"balance": "504298960000",
    		"nonce": "2",
    		"asset": {},
    		"votes": [
    			{
    				"amount": "1000000000000",
    				"delegateAddress": "10045031187186962062L"
    			}
    		],
    		"delegate": {
    			"rewards": "0",
    			"producedBlocks": 1030,
    			"missedBlocks": 0,
    			"productivity": 100,
    			"approval": 0
    		},
    		"isDelegate": true,
    		"username": "genesis_81"
    	}
]

Show account

This shows the private account information for a given passphrase. It displays the Lisk address, publickey and privatekey that belong to the entered passphrase as shown below:

USAGE
  $ lisk account:show

OPTIONS
  -j, --[no-]json              Prints output in JSON format. You can change the default behavior in
                               your config.json file.

  -p, --passphrase=passphrase  Specifies a source for your secret passphrase. Lisk Commander 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
  Shows account information for a given passphrase.

EXAMPLE
  account:show

Example JSON output

{
        "privateKey": "a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3a4465fd76c16fcc458448076372abf1912cc5b150663a64dffefe550f96feadd",
        "publicKey": "a4465fd76c16fcc458448076372abf1912cc5b150663a64dffefe550f96feadd",
        "address": "12475940823804898745L"
}

Block

All available commands relating to Lisk blocks are covered here.

Get block

How to get the block information from the blockchain.

USAGE
  $ lisk block:get BLOCKIDS

ARGUMENTS
  BLOCKIDS  Comma-separated block ID(s) to get information about.

OPTIONS
  -j, --[no-]json  Prints output in JSON format. You can change the default behavior in your
                   config.json file.

  --[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
  Gets block information from the blockchain.

EXAMPLES
  block:get 17108498772892203620
  block:get 17108498772892203620,8541428004955961162

Example JSON output

[
	{
		"id": "8895945395224724760",
		"version": 2,
		"timestamp": 123278780,
		"height": 97097,
		"previousBlockId": "17995558027005761927",
		"numberOfTransactions": 0,
		"totalAmount": "0",
		"totalFee": "0",
		"reward": "500000000",
		"payloadLength": 0,
		"payloadHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
		"generatorPublicKey": "e34c53a75cdfe9584540d7ffecabb61c2e14aabdea203342a3e4add1d15c19b8",
		"generatorAddress": "17718487952107855818L",
		"blockSignature": "c9101fccebce982bad0370873e09cf01889456cabb4db25518ec14ee96f9fccf24c611521814e02a834fbab6a61c7b3cebcdf09917ad6954b491a00114aa6d02",
		"confirmations": 4,
		"totalForged": "500000000",
		"maxHeightPrevoted": 97028,
		"maxHeightPreviouslyForged": 97023
	}
]

Config

All available commands to get and manage configurations for Lisk Commander are covered here.

Show config

Prints the current configuration as shown below:

USAGE
  $ lisk config:show

OPTIONS
  -j, --[no-]json  Prints output in JSON format. You can change the default behavior in your
                   config.json file.

  --[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
  Prints the current configuration.

EXAMPLE
  config:show

Example JSON output (default values):

{
    "json": true, (1)
    "api": {
        "nodes": [], (2)
        "network": "main" (3)
    },
    "pretty": true (4)
}
1 If false, this displays the output in table format.
2 These are the custom nodes which will connect to the Lisk Commander.
3 This is for the network in use,main for Mainnet,test for Testnet.
4 If true, this displays the output in a logical format. This has no effect if json:false.

Set config

This sets the configuration.

When api.nodes is empty, the Lisk Commander will connect to the official Lisk seed nodes depending on the network specified in api.network.

If api.nodes is set to one or more multiple nodes, the Lisk Commander will ignore api.network and will make all requests to the specified Lisk node.

When multiple nodes are specified, queries will always go to the first listed node. The following nodes serve as a fallback, if a query to the first node was unsuccessful.

USAGE
  $ lisk config:set VARIABLE [VALUES]

OPTIONS
  -j, --[no-]json  Prints output in JSON format. You can change the default behaviour in your config.json file.

  --[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 behaviour in your config.json file.

DESCRIPTION
  Sets configuration.
  		...
  		Variables available: api.nodes, api.network, json, pretty.

EXAMPLES
  config:set json true
  config:set api.network main
  config:set api.nodes https://127.0.0.1:4000,http://mynode.com:7000

Example JSON output

{
    "message": "Successfully set pretty to true."
}

This displays the copyright notice.

USAGE
  $ lisk copyright

OPTIONS
  -j, --[no-]json  Prints output in JSON format. You can change the default behaviour in your config.json file.

  --[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 behaviour in your config.json file.

DESCRIPTION
  Displays copyright notice.

EXAMPLE
  copyright

Delegate

All available commands relating to Lisk delegates are covered here.

Get delegate

How to get the delegate information from the blockchain.

USAGE
  $ lisk delegate:get USERNAMES

ARGUMENTS
  USERNAMES  Comma-separated username(s) to get information about.

OPTIONS
  -j, --[no-]json  Prints output in JSON format. You can change the default behavior in your
                   config.json file.

  --[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
  Gets delegate information from the blockchain.

EXAMPLES
  delegate:get lightcurve
  delegate:get lightcurve,korben3

Example JSON output

[
    {
        "username": "genesis_81",
        "totalVotesReceived": "1000000000000",
        "rewards": "0",
        "producedBlocks": 1031,
        "missedBlocks": 0,
        "productivity": 100,
        "address": "10045031187186962062L",
        "publicKey": "910913de3007e6bbc9b56cf0c298d4c24784a400cf1fd76f992578aad7f3163b",
        "balance": "504798960000",
        "nonce": "2",
        "asset": {},
        "keys": {
            "optionalKeys": [],
            "mandatoryKeys": [],
            "numberOfSignatures": 0
        },
        "votes": [
            {
                "amount": "1000000000000",
                "delegateAddress": "10045031187186962062L"
            }
        ],
        "delegate": {
            "isBanned": false,
            "pomHeights": [],
            "lastForgedHeight": 0,
            "consecutiveMissedBlocks": 0
        },
        "unlocking": [],
        "approval": 0
    }
]

Get voters of a delegate

How to gets the voters information for given delegate(s) from the blockchain.

USAGE
  $ lisk delegate:voters USERNAMES

ARGUMENTS
  USERNAMES  Comma-separated username(s) to get information about.

OPTIONS
  -j, --[no-]json  Prints output in JSON format. You can change the default behavior in your
                   config.json file.

  --limit=limit    [default: 10] Limit applied to results.

  --offset=offset  [default: 0] Offset applied to results.

  --[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.

  --sort=sort      [default: balance:desc] Fields to sort results by.

DESCRIPTION
  Gets voters information for given delegate(s) from the blockchain.

EXAMPLES
  delegate:voters lightcurve
  delegate:voters lightcurve,korben3
  delegate:voters lightcurve,korben3 --limit 20 --offset 5 --sort publicKey:asc --pretty

Get votes of a delegate

How to get voting information for given delegate(s) from the blockchain.

USAGE
  $ lisk delegate:votes ADDRESSES

ARGUMENTS
  ADDRESSES  Comma-separated address(es) to get information about.

OPTIONS
  -j, --[no-]json  Prints output in JSON format. You can change the default behaviour in your config.json file.
  --limit=limit    [default: 10] Limit applied to results.
  --offset=offset  [default: 0] Offset applied to results.

  --[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 behaviour in your config.json file.

  --sort=sort      [default: balance:desc] Fields to sort results by.

DESCRIPTION
  Gets votes information for given account(s) from the blockchain.

EXAMPLES
  delegate:votes 13133549779353512613L
  delegate:votes 13133549779353512613L,16010222169256538112L
  delegate:votes 13133549779353512613L,16010222169256538112L --limit 20 --offset 5 --sort balance:asc --pretty

Example JSON output:

[
  {
    "username": "genesis_81",
    "publicKey": "910913de3007e6bbc9b56cf0c298d4c24784a400cf1fd76f992578aad7f3163b",
    "votes": [
        {
            "amount": "1000000000000",
            "delegateAddress": "10045031187186962062L"
        }
    ],
    "address": "10045031187186962062L",
    "balance": "504798960000",
    "voters": [
        {
            "address": "10045031187186962062L",
            "publicKey": "910913de3007e6bbc9b56cf0c298d4c24784a400cf1fd76f992578aad7f3163b",
            "totalVotesReceived": "1000000000000",
            "votes": [
                {
                    "amount": "1000000000000",
                    "delegateAddress": "10045031187186962062L"
                }
            ]
        }
    ],
    "voteCount": 1
  }
]

Hash onion

How to create a hash onion output to be used by a 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

  -j, --[no-]json          Prints output in JSON format. You can change the default behavior in your
                           config.json file.

  -o, --output=output      Output file path

  --[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 hash onion output to be used by forger.

EXAMPLE
  hash-onion --count=1000000 --distance=2000

Help

The command references can be seen below:

A command line interface for Lisk

VERSION
  lisk-commander/3.0.1 darwin-x64 node-v12.13.0

USAGE
  $ lisk [COMMAND]

COMMANDS
  account             Commands relating to Lisk accounts.
  block               Commands relating to Lisk blocks.
  config              Manages Lisk Commander configuration.
  copyright           Displays copyright notice.
  core                Install an instance of Lisk Core.
  delegate            Commands relating to Lisk delegates.
  help                Displays help.
  message             Commands relating to user messages.
  network-identifier
  node                Commands relating to Lisk node.
  passphrase          Commands relating to Lisk passphrases.
  signature           Commands relating to signatures for Lisk transactions from multisignature accounts.
  transaction         Commands relating to Lisk transactions.
  warranty            Displays warranty notice.

Message

The commands relating to user messages are covered here.

Decrypt message

This 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 –message option. If both the secret passphrase and the encrypted message are provided via stdin, the secret passphrase must be provided in the first line, and the encrypted message must be provided in the subsequent lines.

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. Lisk Commander 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 (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 –message option. If both the secret passphrase and the encrypted message are provided via stdin, the secret passphrase must be provided in the first line, and the encrypted message must be provided in the subsequent lines.

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. Lisk Commander 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. It 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 JSON output

 {
    "nonce": "cb4d497e6834e0e888e285f32ddb02bdfd4b471f6ad04e6d",
    "encryptedMessage": "82af57f715c69958bda8b9e95b7f7a09bfaa5afeb94960bf243d7c77a656a3e1ff061c68e20e"
}

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 –message option. If both the secret passphrase and the encrypted message are provided via stdin, the secret passphrase must be provided in the first line, and the encrypted message must be provided in the subsequent lines.

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 the 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. Lisk Commander 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. It 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": "a4465fd76c16fcc458448076372abf1912cc5b150663a64dffefe550f96feadd",
    "signature": "0c70c0ed6ca16312c6acab46dd8b801fd3f3a2bd68018651c2792b40a7d1d3ee276a6bafb6b4185637edfa4d282e18362e135c5e2cf0c68002bfd58307ddb30b"
}

Verify message

This 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
}

Network identifier

This command displays the network identifier based on the payload hash of the genesis block of the network. The network identifier needs to be provided every time a transaction is signed, which ensures that the transaction can only be broadcast in the dedicated network.

USAGE
  $ lisk network-identifier GENESISPAYLOADHASH

ARGUMENTS
  GENESISPAYLOADHASH  Payload hash 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. It 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 payload hash and community identifier.

EXAMPLE
  network-identifier da3ed6a45429278bac2666961289ca17ad86595d33b31037615d4b8e8f158bba

Example JSON output

{
	"networkIdentifier": "e48feb88db5b5cf5ad71d93cdcd1d879b6d5ed187a36b0002cc34e0ef9883255"
}

Node

Commands relating to Lisk nodes are covered here.

Uses official Lisk seed nodes, if no other nodes are provided in the config.

Forging

How to update the forging status of a Lisk Core instance.

USAGE
  $ lisk node:forging STATUS PUBLICKEY

ARGUMENTS
  STATUS     (enable|disable) Desired forging status.
  PUBLICKEY  Public key of the delegate whose status should be updated.

OPTIONS
  -j, --[no-]json          Prints output in JSON format. You can change the default behavior in your
                           config.json file.

  -w, --password=password  Specifies a source for your secret password. Lisk Commander will prompt you
                           for input if this option is not set.
                           	Examples:
                           	- --password=pass:password123 (should only be used where security is not
                           important)

  --[no-]pretty            Prints JSON in pretty format rather than condensed. It has no effect if the
                           output is set to table. You can change the default behavior in your
                           config.json file.

EXAMPLES
  node:forging enable 647aac1e2df8a5c870499d7ddc82236b1e10936977537a3844a6b05ea33f9ef6
  node:forging disable 647aac1e2df8a5c870499d7ddc82236b1e10936977537a3844a6b05ea33f9ef6

Get node

How to get the network status from a Lisk Core instance.

USAGE
  $ lisk node:get

OPTIONS
  -j, --[no-]json   Prints output in JSON format. You can change the default behavior in your
                    config.json file.

  --forging-status  Additionally provides information about forging status.

  --[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.

EXAMPLES
  node:get
  node:get --forging-status

Example JSON output

{
	"build": "2020-04-08T06:37:41.000Z",
	"commit": "d04591d8a22ded3856586f37c496465b3d1de1b4",
	"epoch": "2016-05-24T17:00:00.000Z",
	"networkId": "93d00fe5be70d90e7ae247936a2e7d83b50809c79b73fa14285f02c842348b3e",
	"milestone": "0",
	"reward": "500000000",
	"supply": "10047531500000000",
	"version": "3.0.0-beta.1",
	"protocolVersion": "2.0",
	"currentTime": 1587389384620,
	"secondsSinceEpoch": 123280184,
	"height": 97222,
	"chainMaxHeightFinalized": 97068,
	"unconfirmedTransactions": 0,
	"syncing": false
}

Passphrase

The commands relating to Lisk passphrases are covered here.

Decrypt passphrase

Decrypts your secret passphrase using the password which was provided at the time of encryption.

The following command 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 –message option. If both the secret passphrase and the encrypted message are provided via stdin, the secret passphrase must be provided in the first line, and the encrypted message must be provided in the subsequent lines.

USAGE
  $ lisk passphrase:decrypt ENCRYPTEDPASSPHRASE

ARGUMENTS
  ENCRYPTEDPASSPHRASE  Encrypted passphrase to decrypt.

OPTIONS
  -j, --[no-]json          Prints output in JSON format. You can change the default behavior in your
                           config.json file.

  -w, --password=password  Specifies a source for your secret password. Lisk Commander will prompt you
                           for input if this option is not set.
                           	Examples:
                           	- --password=pass:password123 (should only be used where security is not
                           important)

  --[no-]pretty            Prints JSON in pretty format rather than condensed. It has no effect if the
                           output is set to table. You can change the default behavior in your
                           config.json file.

DESCRIPTION
  Decrypts your secret passphrase using the password which was provided at the time of encryption.

EXAMPLE
  passphrase:decrypt "iterations=1000000&cipherText=9b1c60&iv=5c8843f52ed3c0f2aa0086b0&salt=2240b7f1aa9c899894e528cf5b600e9c&tag=23c01112134317a63bcf3d41ea74e83b&version=1"

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 as shown below:

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 –message option. If both the secret passphrase and the encrypted message are provided via stdin, the secret passphrase must be provided in the first line, and the encrypted message must be provided in the subsequent lines.

USAGE
  $ lisk passphrase:encrypt

OPTIONS
  -j, --[no-]json              Prints output in JSON format. You can change the default behavior in
                               your config.json file.

  -p, --passphrase=passphrase  Specifies a source for your secret passphrase. Lisk Commander 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. Lisk Commander will prompt
                               you for input if this option is not set.
                               	Examples:
                               	- --password=pass:password123 (should only be used where security is not
                               important)

  --outputPublicKey            Includes the public key in the output. This option is provided for the
                               convenience of node operators.

  --[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 your secret passphrase under a password.

EXAMPLE
  passphrase:encrypt

Example JSON output

{
    "encryptedPassphrase": "iterations=1000000&cipherText=9b1c60&iv=5c8843f52ed3c0f2aa0086b0&salt=2240b7f1aa9c899894e528cf5b600e9c&tag=23c01112134317a63bcf3d41ea74e83b&version=1"
}

Transaction

The commands relating to Lisk transactions are covered here.

Broadcast transaction

Broadcasts a transaction to the network via the node specified in the current config.

Accepts a stringified JSON transaction as an argument, or a transaction can be piped from a previous command.

If piping, please ensure to quote out the entire command chain to avoid piping-related conflicts in your shell.

USAGE
  $ lisk transaction:broadcast [TRANSACTION]

ARGUMENTS
  TRANSACTION  Transaction to broadcast in JSON format.

OPTIONS
  -j, --[no-]json  Prints output in JSON format. You can change the default behavior in your
                   config.json file.

  --[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
  Broadcasts a transaction to the network via the node specified in the current config.
  Accepts a stringified JSON transaction as an argument, or a transaction can be piped from a previous
  command.
  If piping make sure to quote out the entire command chain to avoid piping-related conflicts in your
  shell.

EXAMPLES
  broadcast transaction '{"type":0,"amount":"100",...}'
  echo '{"type":0,"amount":"100",...}' | lisk transaction:broadcast

Example JSON output

{
    "meta": {
        "status": true
    },
    "data": {
        "message": "Transaction(s) accepted"
    },
    "links": {}
}

Create transaction

The commands creating a transaction object are covered here.

USAGE
  $ lisk transaction:create

OPTIONS
  -j, --[no-]json
      Prints output in JSON format. You can change the default behavior in your config.json file.

  -p, --passphrase=passphrase
      Specifies a source for your secret passphrase. Lisk Commander 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)

  -t, --type=8|transfer|10|delegate|12|multisignature|13|vote|14|unlock|15|pom
      (required) type of transaction to create

  --networkIdentifier=networkIdentifier
      Network identifier defined for the network or main | test for the Lisk Network.

  --no-signature
      Creates the transaction without a signature. Your passphrase will therefore not be required.

  --[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 a transaction object.

EXAMPLE
  transaction:create --type=8 1 100 100 13356260975429434553L

COMMANDS
  transaction:create:delegate
  transaction:create:multisignature
  transaction:create:pom
  transaction:create:transfer
  transaction:create:unlock
  transaction:create:vote

Transfer transaction

Creates a transaction which will transfer the specified amount to an address if broadcast to the network.

This command creates and signs a type 0 transaction, which will transfer a Lisk balance to a provided address if broadcast to the network.

USAGE
  $ lisk transaction:create:transfer NONCE FEE AMOUNT ADDRESS

ARGUMENTS
  NONCE    Nonce of the transaction.
  FEE      Transaction fee in LSK.
  AMOUNT   Amount of LSK to send.
  ADDRESS  Address of the recipient.

OPTIONS
  -d, --data=data                        Optional UTF8 encoded data (maximum of 64 bytes) to include in
                                         the transaction asset.
                                         	Examples:
                                         	- --data=customInformation

  -j, --[no-]json                        Prints output in JSON format. You can change the default
                                         behavior in your config.json file.

  -p, --passphrase=passphrase            Specifies a source for your secret passphrase. Lisk Commander
                                         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)

  --networkIdentifier=networkIdentifier  Network identifier defined for the network or main | test for
                                         the Lisk Network.

  --no-signature                         Creates the transaction without a signature. Your passphrase
                                         will therefore not be required.

  --[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 a transaction which will transfer the specified amount to an address if broadcast to the
  network.

EXAMPLE
  transaction:create:transfer 1 100 100 13356260975429434553L

Delegate registration transaction

Creates a transaction which will register the account as a delegate candidate if broadcast to the network.

The following command below creates and signs a type 2 transaction, which will register the account as a delegate candidate if it broadcasts to the network. This requires the delegate’s username to be registered.

USAGE
  $ lisk transaction:create:delegate NONCE FEE USERNAME

ARGUMENTS
  NONCE     Nonce of the transaction.
  FEE       Transaction fee in LSK.
  USERNAME  Username to register as a delegate.

OPTIONS
  -j, --[no-]json                        Prints output in JSON format. You can change the default
                                         behavior in your config.json file.

  -p, --passphrase=passphrase            Specifies a source for your secret passphrase. Lisk Commander
                                         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)

  --networkIdentifier=networkIdentifier  Network identifier defined for the network or main | test for
                                         the Lisk Network.

  --no-signature                         Creates the transaction without a signature. Your passphrase
                                         will therefore not be required.

  --[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 a transaction which will register the account as a delegate candidate if broadcast to the
  network.

EXAMPLE
  transaction:create:delegate 1 100 lightcurve

Cast votes transaction

Creates a transaction which will cast votes (and/or unvotes), for delegate candidates using their public keys if broadcast to the network.

This command creates and signs a type 3 transaction, which will cast votes or unvotes for delegates if broadcast to the network. The command requires at least one of the –votes and/or –unvotes options.

These options can be specified either by a list of public key strings (corresponding to the delegates to be voted for/unvoted), separated by commas, or via a path to a file containing the public keys (where the public keys can be separated by commas or new lines).

USAGE
  $ lisk transaction:create:vote NONCE FEE

ARGUMENTS
  NONCE  Nonce of the transaction.
  FEE    Transaction fee in LSK.

OPTIONS
  -j, --[no-]json                        Prints output in JSON format. You can change the default
                                         behavior in your config.json file.

  -p, --passphrase=passphrase            Specifies a source for your secret passphrase. Lisk Commander
                                         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)

  --networkIdentifier=networkIdentifier  Network identifier defined for the network or main | test for
                                         the Lisk Network.

  --no-signature                         Creates the transaction without a signature. Your passphrase
                                         will therefore not be required.

  --[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.

  --votes=votes                          (required) Specifies the public keys for the delegate
                                         candidates you want to vote for. Takes a string of public keys
                                         separated by commas.
                                         	Examples:
                                         	- --votes=publickey1,publickey2

DESCRIPTION
  Creates a transaction which will cast votes for delegate candidates using their addresses if
  broadcast to the network.

EXAMPLE
  transaction:create:vote 1 100 --votes="356975984361330918L,1000000000" --votes="7539210577161571444L,3000000000" --votes="456975984361330919L,-1000000000"

Multisignature account registration

This creates a transaction which will register the account as a multisignature account if broadcast to the network, using the following arguments shown below:

USAGE
  $ lisk transaction:create:multisignature NONCE FEE

ARGUMENTS
  NONCE  Nonce of the transaction.
  FEE    Transaction fee in LSK.

OPTIONS
  -j, --[no-]json
      Prints output in JSON format. You can change the default behavior in your config.json file.

  -p, --passphrase=passphrase
      Specifies a source for your secret passphrase. Lisk Commander 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)

  --mandatory-key=mandatory-key
      Mandatory public key for multisignature account.

  --member-passphrase=member-passphrase
      Passphrase for all mandatory and optional keys. Its a less secure way to sign transaction. See
      command description for details.

  --networkIdentifier=networkIdentifier
      Network identifier defined for the network or main | test for the Lisk Network.

  --number-of-signatures=number-of-signatures
      Number of signatures required to validate transactions from that account

  --optional-key=optional-key
      Optional public key for multisignature account.

  --[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 a transaction which will register the account as a multisignature account if broadcast to the
  network, using the following arguments:

  		1. Mandatory keys to verify signatures for the multisignature account. Signatures for these keys must
  exists to verify every transaction from that account.
  		2. Optional keys to verify signatures for the multisignature account. Signatures for these keys may
  or may not exists to verify transaction from that account.
  		3. Number of signatures required for a transaction from the account to be valid. These value must be
  minimum of count of mandatory keys.
  		4. Member passphrases for every mandatory and optional key provided.

  	Use of '--member-passphrase' flag is not encourage for better security practices. This will expose
  the passphrase to command line and may end up logging into system logs. Use 'transaction:sign'
  command to sign with member passphrases.

EXAMPLE
  transaction:create:multisignature 1 100 --mandatory-key="xxx" --mandatory-key="yyy" --optional-key="yyy" --optional-key="yyy" --number-of-signatures=4 --passphrase="****" --member-passphrase="****" --member-passphrase="****"

POM

This creates a transaction which will report misbehavior of delegate by providing 2 contradicting block headers as shown below:

USAGE
  $ lisk transaction:create:pom NONCE FEE HEADER1 HEADER2

ARGUMENTS
  NONCE    Nonce of the transaction.
  FEE      Transaction fee in LSK.
  HEADER1  Contradicting block header as JSON string.
  HEADER2  Contradicting block header as JSON string.

OPTIONS
  -j, --[no-]json                        Prints output in JSON format. sYou can change the default behavior in your
                                         config.json file.

  -p, --passphrase=passphrase            Specifies a source for your secret passphrase. Lisk Commander 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)

  --networkIdentifier=networkIdentifier  Network identifier defined for the network or main | test for the Lisk
                                         Network.

  --no-signature                         Creates the transaction without a signature. Your passphrase will therefore
                                         not be required.

  --[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 a transaction which will report misbehavior of delegate by providing 2 contradicting block headers.

EXAMPLE
  transaction:create:pom 1 100 "{"height": 3, "version": 2, "maxHeightPrevoted": 30, "blockSignature": "xxx"}"
  "{"height": 3, "version": 2, "maxHeightPrevoted": 31, "blockSignature": "yyy"}"

Unlock tokens

This creates a transaction which will unlock tokens voted for delegates and add them back to the senders balance.

USAGE
  $ lisk transaction:create:unlock NONCE FEE

ARGUMENTS
  NONCE  Nonce of the transaction.
  FEE    Transaction fee in LSK.

OPTIONS
  -j, --[no-]json                        Prints output in JSON format. You can change the default
                                         behavior in your config.json file.

  -p, --passphrase=passphrase            Specifies a source for your secret passphrase. Lisk Commander
                                         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)

  --networkIdentifier=networkIdentifier  Network identifier defined for the network or main | test for
                                         the Lisk Network.

  --no-signature                         Creates the transaction without a signature. Your passphrase
                                         will therefore not be required.

  --[no-]pretty                          Prints JSON in pretty format rather than condensed. It has no
                                         effect if the output is set to table. You can change the
                                         default behavior in your config.json file.

  --unlock=unlock                        Specifies the unlock objects for the delegate candidates to
                                         unlock from. Takes a string of address amount unvoteHeight
                                         separated by commas.
                                         	Examples:
                                         	- --unlock=123L,1000000,500

DESCRIPTION
  Creates a transaction which will unlock tokens voted for delegates and add them back to the sender  balance.

EXAMPLES
  transaction:create:unlock 1 100 --unlock="123L,1000000000,500"
  transaction:create:unlock 1 100 --unlock="123L,1000000000,500" --unlock="456L,1000000000,500"

Get transaction

How to get the transaction information from the blockchain can be seen below:

USAGE
  $ lisk transaction:get [IDS]

ARGUMENTS
  IDS  Comma-separated transaction ID(s) to get information about.

OPTIONS
  -j, --[no-]json
      Prints output in JSON format. You can change the default behavior in your config.json file.

  -s, --state=unsigned|unprocessed
      Get transactions based on a given state. Possible values for the state are 'unsigned' and
      'unprocessed'.
      	Examples:
      	- --state=unsigned
      	- --state=unprocessed

  --limit=limit
      [default: 10] Limits the returned transactions array by specified integer amount. Maximum is 100.

  --offset=offset
      [default: 0] Offsets the returned transactions array by specified integer amount.

  --[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.

  --sender-id=sender-id
      Get transactions based by sender-id which is sender's lisk address'.
      	Examples:
      	- --sender-id=12668885769632475474L

  --sort=amount:asc|amount:desc|fee:asc|fee:desc|type:asc|type:desc|timestamp:asc|timestamp:desc
      [default: timestamp:desc] Fields to sort results by.

DESCRIPTION
  Gets transaction information from the blockchain.

EXAMPLES
  transaction:get 10041151099734832021
  transaction:get 10041151099734832021,1260076503909567890
  transaction:get 10041151099734832021,1260076503909567890 --state=unprocessed
  transaction:get --state=unsigned --sender-id=1813095620424213569L
  transaction:get 10041151099734832021 --state=unsigned --sender-id=1813095620424213569L
  transaction:get --sender-id=1813095620424213569L
  transaction:get --limit=10 --sort=amount:desc
  transaction:get --limit=10 --offset=5

Sign transaction

How to sign a transaction 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 –message option. If both the secret passphrase and the encrypted message are provided via stdin, the secret passphrase must be provided in the first line, and the encrypted message must be provided in the subsequent lines.

USAGE
  $ lisk transaction:sign [TRANSACTION]

ARGUMENTS
  TRANSACTION  Transaction to sign in JSON format.

OPTIONS
  -j, --[no-]json
      Prints output in JSON format. You can change the default behavior in your config.json file.

  -m, --mandatory-key=mandatory-key
      Mandatory publicKey required for multi signature transaction.

  -o, --optional-key=optional-key
      Optional publicKey for multi signature transaction.

  -p, --passphrase=passphrase
      Specifies a source for your secret passphrase. Lisk Commander 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)

  --networkIdentifier=networkIdentifier
      Network identifier defined for the network or main | test for the Lisk Network.

  --number-of-passphrases=number-of-passphrases
      Number of times you require the passphrase prompt to appear

  --[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
  Sign a transaction using your secret passphrase.

EXAMPLES
  transaction:sign
  '{"type":8,"senderPublicKey":"c094ebee7ec0","nonce":"1","fee":"1000","asset":{"amount":"100","recipie
  ntId":"555331L"}}'


  transaction:sign
  '{"type":8,"senderPublicKey":"c094ebee7ec0","nonce":"1","fee":"1000","asset":{"amount":"100","recipie
  ntId":"555331L"}}' --mandatory-key=215b667a32a5cd51a94 --optional-key=922fbfdd596fa78269bbcadc67e
  --number-of-passphrases=2


  transaction:sign
  '{"type":8,"senderPublicKey":"c094ebee7ec0","nonce":"1","fee":"1000","signatures":["a3cc97079e17bdd15
  8526"],"asset":{"amount":"100","recipientId":"555331L"}}' --mandatory-key=215b667a32a5cd51a94
  --optional-key=922fbfdd596fa78269bbcadc67e --passphrase="inherit moon normal relief spring"


  transaction:sign
  '{"type":8,"senderPublicKey":"c094ebee7ec0","nonce":"1","fee":"1000","asset":{"amount":"100","recipie
  ntId":"555331L"}}' --mandatory-key=215b667a32a5cd51a94 --optional-key=922fbfdd596fa78269bbcadc67e
  --passphrase="inherit moon normal relief spring" --passphrase="wear protect skill sentence"

Verify transaction

Verifies a transaction has a valid signature.

This command verifies a transaction after being signed with the sign transaction command or create transaction command.

The second public key may be specified here if the transaction has a second signature.

USAGE
  $ lisk transaction:verify [TRANSACTION]

ARGUMENTS
  TRANSACTION  Transaction to verify in JSON format.

OPTIONS
  -j, --[no-]json
      Prints output in JSON format. You can change the default behavior in your config.json file.

  -p, --networkIdentifier=networkIdentifier
      Specifies a source for your secret passphrase. Lisk Commander 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. It has no effect if the output is set to table.
      You can change the default behavior in your config.json file.

DESCRIPTION
  Verifies a transaction has a valid signature.

EXAMPLE
  transaction:verify '{"type":0,"amount":"100",...}'

Example JSON output

{
    "verified": true
}

Warranty

This displays the warranty notice.

USAGE
  $ lisk warranty

OPTIONS
  -j, --[no-]json  Prints output in JSON format. You can change the default behaviour in your config.json file.

  --[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 behaviour in your config.json file.

DESCRIPTION
  Displays warranty notice.

EXAMPLE
  warranty