Running a blockchain node

What is a blockchain node?

A blockchain node is a server with a running blockchain application, like Lisk Core. Nodes are usually connected to other nodes running the same blockchain application via P2P. Together, they form the network that is maintaining the blockchain.

Node network
Figure 1. Node types of a blockchain network

In DPoS, only a certain set of nodes is delegated by the network to add new blocks to the blockchain. These nodes fulfill a very important role in the network and therefore require certain additional configurations and security measures, compared to regular nodes. Furthermore, they are equal to any non-forging node in the network and follow the same installation process.

How to set up a Lisk Core node

Lisk Core is the blockchain application that maintains the Lisk Mainnet.

To set up Lisk Core, choose a distribution and follow the respective setup guide:

Forging nodes

A forging node is simply a node that has forging enabled for a particular delegate, who is in an active forging position. In the Lisk Mainnet, this means exactly 103 forging delegates exist in the network for each forging round.

Forging nodes are the only nodes that can propose new blocks to the blockchain. During a forging round, every forging node has the opportunity to forge at least one block.

Follow the guide Enabling forging to learn how to enable forging on a node for a particular delegate.

Forging in the Testnet

Anyone can start forging in the Lisk Testnet, thanks to the the Lisk Testnet faucet, where users can request free Testnet LSK tokens.

The Lisk Testnet is the perfect network for users who want to test out how the forging process works, or delegates who want to test certain forging setups before implementing them for their Mainnet delegate.

The Testnet LSK do not hold any intrinsic value, as the Lisk Testnet is a network purely for testing purposes. They can never be exchanged to real LSK tokens from the Lisk Mainnet.

Forging in the Mainnet

If you consider gaining an active forging position on the Lisk Mainnet, please be aware that the Lisk DPoS requires to self vote with a certain amount of your own tokens. Therefore, a certain self-investment is required for every delegate who wishes to participate in the forging process.

Gaining an active forging spot

To gain a secure forging spot for a forging round, a delegate needs to be one of the top 101 delegates with the most delegate weight in the network, see Delegates, voting and delegate weight for more information about the voting process in the Lisk Protocol.

To see the currently required thresholds for entering the top 101, check the delegate weights of the currently actively 101 forging delegates, for example in one of the public Lisk network explorers:

Earning rewards as standby delegate

Each forging round, two additional delegates outside the top 101 are chosen randomly to gain an active forging spot for this particular round. This gives delegates who don’t have enough vote weights the chance to profit from forging awards as well.

The random selection of the two standby delegates is proportional to their individual vote weight, meaning delegates with higher vote weight have a higher chance of getting selected. See Forging delegate selection for more information.

Protecting forging nodes

To keep the network healthy, and to not miss any block rewards, it is recommended to implement certain security measures to protect the forging node against attacks and/or failures.

For more information, see the guide Protecting a forging node.

Non-forging nodes

Non-forging nodes are, as the name suggests, blockchain nodes with forging disabled. This means, non-forging nodes cannot add new blocks to the blockchain themselves, but they are able to receive and relay new blocks and transactions from and to other nodes in the network.

If not configured otherwise, every installed node is a non-forging node by default.

Generally, non-forging nodes are used to get data from, or send data to the blockchain via one of the available APIs of the node.

Additionally, non-forging nodes can be used to create snapshots/backups of the blockchain, if desired.

Protecting non-forging nodes

Opening a node’s API to the public exposes the node to certain attacks, and it is recommended to protect the node accordingly, in order to ensure the node keeps running stable.

For more information, see the guide Protecting a non-forging node.

APIs

The following APIs can be enabled in a blockchain node:

Lisk Service nodes

Lisk Service is a data aggregation service which connects to a particular blockchain node and aggregates the blockchain data, in order to provide enriched API endpoints for other applications and services that rely on data from the blockchain.

How to configure a blockchain node for Lisk Service

To connect successfully to a blockchain node with Lisk Service, it is necessary to configure the node accordingly, by enabling the RPC API.

See the section Configuring Lisk Core of the Lisk Service setup guide for a concrete example how to configure Lisk Core so that Lisk Service can connect to it.

How to set up a Lisk Service node

To set up Lisk Core, choose a distribution and follow the respective setup guide:

APIs

The following APIs can be enabled in a Lisk Service node:

Further guides for node operators

Further guides for delegates