Interact with the network

What does it mean to interact with the network?

Every action that puts data on the blockchain, or gets data from it, is an interaction with the blockchain network.

Who or what interacts with the network?

  1. Exchanges interact heavily with the network, e.g. by transferring tokens for their customers. We highly recommend exchanges to set up a node to interact with the network reliably.

  2. Delegates interact with the network by forging new blocks and adding them to the blockchain. A delegate is also typically a node operator.

  3. Node operators and developers have a general interest in monitoring their node and the network. Their node provides them with a private API that can be used to make different queries or to post transactions to the network. Depending on their preferences, node operators might want to use Lisk Elements, Lisk Commander or a graphical interface like Lisk Hub.

  4. Applications interact through the API with the network. For convenience, applications would use wrappers like @liskHQ/lisk-api-client.

  5. LSK Token Holders mostly interact with the network through Graphical User Interfaces such as wallet applications like Lisk Hub or Lisk Mobile.

How to interact with the network?

Network Interaction

The following tools are suited for interacting with the Mainnet and Testnet of Lisk.

They can also be used to interact with other blockchain applications that have been developed using the Lisk SDK. Mind, that you might need to customize the tools, to fully work with these applications.

You can choose from up to 5 ways to interact with an existing network based on what is most convenient for your needs:

A - Write scripts in Javascript

Lisk Elements is a collection of Javascript libraries that help applications to interact with the network.

On the Packages page of Lisk Elements, all available libraries are listed and documented.

One of the most useful packages in this regard is the @liskhq/lisk-api-client as it provides a slick interface to interact with the network in Javascript.

B - Use the Command-line

Lisk Commander is the CLI-tool that lets you interact with the network conveniently through the command line. See a list of all commands and their example responses on the Commands page.

C - Use Lisk Hub

Lisk Hub is the Graphical User Interface (GUI) to interact with the network.

It consists of wallet functionalities like sending transactions and viewing account history, as well as more extended features like delegate voting or registering as a delegate.

D - Lisk Explorer

Lisk Explorer is a web application that visualizes the vast information from Lisk’s blockchain.

Lisk offers Explorers for the 2 public networks:

The source code of Lisk Explorer is open source and can be utilized to set up own Explorers to visualize activity inside the network and to monitor it.

E - Query the API

Query the API manually. Either from a public node, or connect to your own private node to interact with the network.

View the full specification of the Lisk API, including example queries at lisk.io/documentation/lisk-core/api

To execute the query, use any tool suitable for HTTP API requests.

Popular tools for HTTP requests:

  • Curl: Perform API requests from the command-line.

  • Postman: user friendly graphical interface for sending API requests.

  • Swagger UI: A Webinterface that can send API requests in addition to providing the complete API specification.

Use a public node

There are a number of nodes that are available for public use.

LiskHQ for example is running a public testnet node, that is also used to make live requests while trying out the different API endpoints in the documentation.

When hitting the "Try it out" button beside each endpoint, it is possible to execute the corresponding API request and get a live response from Lisk Testnet. It will also display the corresponding curl command to make the request from the command-line.

Use your private node

When setting up Lisk Core, the API will be private by default, which means API requests will be only accepted from localhost.

To change this, it is possible to define exclusive whitelists, that allow specific addresses to perform API requests on that node.