Getting started


The Lisk SDK is an open-source software development kit which enables developers to build scalable Blockchain applications in JavaScript.


The most important highlights and features of the Lisk SDK:

  • One blockchain per app: Blockchain applications each run on their own customized blockchain.

  • Programming language: JS logo (JavaScript) & TS logo (TypeScript)

  • Consensus algorithm: Lisk DPoS & Lisk BFT

  • Completely modular: Configure, exchange or extend any of the blockchain related logic in the application with Modules and Plugins.

  • Convenient development tools:

    • Lisk Commander:

      • Bootstrap a complete default blockchain application with a single command.

      • Generate skeletons for modules, assets, and plugins.

      • Use the Lisk SDK libraries directly in the terminal via the interactive Lisk console.

      • Many other convenient CLI tools such as creating accounts, encrypting passphrases / messages and more.

    • Dashboard plugin: Communicate conveniently with your blockchain application during development via a dashboard.

    • SDK testing utilities: simplifies the testing of all components of a blockchain application by providing dedicated fixtures, mocks, and utility functions.

  • Interoperable (coming soon, see roadmap): Make your app interoperable with other blockchain applications, by registering it as a sidechain on the Lisk Mainchain.


The quickest way to bootstrap a blockchain application with the Lisk SDK is explained here.

Supported Operating Systems

The Lisk SDK will run on both the Ubuntu and MacOS operating systems listed below:

  • Ubuntu

  • MacOS

  • 18.04 (LTS)

  • 20.04 (LTS)

  • 10.13 (High Sierra)

  • 10.14 (Mojave)

  • 10.15 (Catalina)

  • 11.04 (Big Sur)

Please note that the SDK does not come with any official support for Windows.


The following dependencies need to be installed to run the Lisk SDK:

Dependencies Version


v2 (latest)


v12.22.9 (NPM version 6.14.15)

Lisk Commander

v5.1.7 (latest)


If you are using NVM, (Node.js Version Manager), ensure you install the correct version as shown below:

nvm install v12.22.9
The correct version for NPM(6) is installed automatically with version 12 of Node.js.

Lisk Commander

It is recommended to install Lisk Commander globally with NPM (Node Package Manager), to facilitate the convenient usage of the Lisk Commander CLI.

npm install --global lisk-commander

Project setup

mkdir new_app
cd new_app
lisk init

The user is asked for the application name, description, author, and license after running lisk init.

Next, all the required files are created by Lisk Commander.

Using template "lisk-ts"
Initializing git repository
Updating .liskrc.json file
Creating project structure
? Application name new_app
? Application description My blockchain application
? Author mona
? License ISC

Start the application

Execute the following command to start the blockchain application.

./bin/run start

To verify that the application has started, check the log messages in the terminal. If the start was successful, the application will enable forging for all genesis delegates and will begin adding new blocks to the blockchain every 10 seconds.

The application CLI offers various commands to conveniently manage your blockchain application.

To see an overview of all the available CLI commands, execute the following commands in the root folder of the application:

./bin/run --help

Using the application CLI globally

To use the application commands globally, create an alias in the .bashrc file.

alias new_app="$HOME/new_app/bin/run" (1)
1 Adjust to the path where your new_app is located.

After updating the .bashrc file, make it directly available in the terminal by executing the following command:

. ~/.bashrc

Now it is possible to conveniently run the application CLI commands from anywhere by referring to the alias.

new_app --help
Next steps

After completing these steps, the default blockchain application of the Lisk SDK will now be running.

It is now possible to customize your application by registering new Modules and Plugins, and also adjusting the genesis block and config to suit your specific use case.

More information can be found in the following guides: