Snap setup

How to set up a Lisk Core node via Snap.

Pre-installation

Supported Platforms

  • Ubuntu 20.04 (LTS) x86_64

  • Ubuntu 22.04 (LTS) x86_64

    The following platforms are not officially supported but should still function as intended:
  • Any Linux system running systemd and AppArmor.

Hardware requirements

The following system requirements are recommended:

Memory
  • Machines with a minimum of 4 GB RAM for the Mainnet.

  • Machines with a minimum of 2 GB RAM for the Testnet.

Storage
  • Machines with a minimum of 40 GB HDD[1].

Open ports

Please ensure, that the necessary ports are open to run Lisk Core as intended.

For example, in case ufw is used on Ubuntu to manage the firewall settings, the respective ports can be opened as follows:

7667 and 7887 are the default ports. If you configured custom ports in the node config file, adjust the examples to these specific ports.
Node P2P communication
ufw allow 7667
Node API
ufw allow 7887

Snap

Snap is a software package management system created by Canonical. Snaps are sandboxed, self-contained applications.

Create a new user

To run and manage a Lisk Core node in the future, please create a separate lisk user as described below:

  • Ubuntu

  • MacOS

The lisk user itself does not need any sudo rights to run the Lisk Core.

sudo adduser lisk (1)
1 Create a new user.

It is not necessarily required to set up a lisk user, especially when you are running a local instance for development purposes.

However, if it is required then it is recommended to create the user using the MacOS GUI.

Installation

Install Lisk Core as a snap:

snap install lisk-core

Start

After successful installation, start the node with the following command:

  • Mainnet

  • Testnet

  • Devnet

lisk-core start --network mainnet

The default log levels for Mainnet are:

"logger": {
    "fileLogLevel": "error",
    "consoleLogLevel": "none"
},

So if you start the node, it won’t show any logs in the console. This is the recommended setting for reducing the number of logs for a running node. However, to verify that the node started correctly, update the log levels in the config to info or lower.

Alternatively, start the node with the following flag:

lisk-core start --network mainnet --console-log=info

See the Managing logs guide for more information about logging.

lisk-core start --network testnet
lisk-core start --network devnet
The passphrase for the genesis account(s) can be found here in the Lisk Core GitHub repository under the following path: config/devnet/passphrase.json.

1. These recommendations are derived from the log level settings, in the event that the user needs to increase storage to prevent limited memory access and potential memory-related problems with a node. Furthermore, as more transactions are processed and added to the blockchain, the size of the blockchain increases over time and this directly affects the HDD storage requirements for a blockchain node. Hence, adhering to the above listed requirements is highly recommended.