Source code setup
The installation from source code is designed for anyone wishing to develop on the Lisk Core codebase. It also comes with an extensive test-suite which is described in the README.md. An installation performed from the source code enables a developer to work on the latest codebase of Lisk Core, which may not have been tagged for a release yet.
To complete the installation certain prerequisites need to be fulfilled. If you have already performed these, then please proceed to the Installation section.
- Supported Platforms
Ubuntu 20.04 (LTS) x86_64
Ubuntu 22.04 (LTS) x86_64
The following system requirements are recommended:
Machines with a minimum of 8 GB RAM for the Mainnet.
Machines with a minimum of 8 GB RAM for the Testnet.
Machines with a minimum of 40 GB HDD.
These are used for compiling dependencies.
To run and manage a Lisk Core node in the future, please create a separate
lisk user as described below:
sudo adduser lisk
The above command will 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.
Git is used for cloning and updating Lisk as displayed below:
Node.js serves as the underlying engine for code execution.
It is recommended to use a Node version manager such as NVM. NVM is a bash script that enables the management of multiple active Node.js versions.
Install NVM by following the official instructions.
Install the latest LTS version of Node.js using NVM with the following command shown below:
nvm install 18
If NVM or other package managers are not required, it is possible to install the Node package globally as shown in the following commands below:
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
For MacOS, please execute the following command below:
brew install node@18
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:
7887 are the default ports.
If you configured custom ports in the node config file, adjust the examples to these specific ports.
ufw allow 7667
ufw allow 7887
Install PM2 for managing the start and stop of the application process in the background as shown below:
npm install pm2 -g
This section details how to install Lisk Core from the source code. When completed, a functioning node on the Lisk network will exist.
Executing the following commands below will enable you to clone the repository, navigate into the
lisk-core root folder, check out the latest release tag, and install the dependencies.
git clone https://github.com/LiskHQ/lisk-core.git
git checkout v4.0.0
|Please check for the latest release in Lisk Core releases.
yarn install --frozen-lockfile
Set up the
lisk-core alias: Append the following line to your
~/.profile file and run
In the command above, please replace
/home/lisk/lisk-core with the absolute path to your "lisk-core" directory.
To find the exact path on your system, change to your "lisk-core" directory and run the
To test that Lisk Core is built and configured correctly, execute the following command below to connect to the network:
lisk-core start --network devnet
From another terminal, execute the following command:
lisk-core system node-info
If the process is running correctly, no errors are thrown in the logs.
It is recommended to use a process manager such as PM2 to run Lisk Core in the background.
To make use of all the Lisk Core commands, enable IPC in the config.
// Enable RPC communication over 'ipc' and 'ws'
"modes": ["ipc", "ws"]
// In case `modes` include `ws` then, the following port is used
// Change to 0.0.0.0 to connect from a remote server
Alternatively, start Lisk Core with the flag
--api-ipc to enable IPC:
lisk-core start --api-ipc
Please note that specifying any of the
--api-http flags in the
lisk-core start command overrides the
rpc.modes settings in the