Introducing Lisk Service

  • By Michał Tuleja in Development
  • 17 Sep 2020
  • 4 min read

Introduction

After completing the development process, we are happy to announce that a new product is joining the Lisk ecosystem - Lisk Service. Lisk Service is an essential part of the Lisk product line-up, as it offers the possibility to access and browse blockchain data, by providing accessible and powerful new API calls.

With much greater flexibility you can access information about regular accounts or delegates. Furthermore, it is possible to retrieve blocks and transactions with the full spectrum of metadata and gather useful network statistics in real-time.

 

Lisk Service Architecture

 

Lisk Service acts as a service layer, meaning it is a proxy between blockchain data and user interfaces. Whilst the Lisk SDK is focused on providing a developer with important blockchain functionalities, such as a public key infrastructure or the consensus algorithm, Lisk Service comes into play when blockchain data has to be provided fast and efficient to user interfaces. 

Lisk Service is fully written in JavaScript and runs on the Node.js V8 virtual machine. It's based on an extensible microservices architecture and combined with a high-performance database, which makes providing data in an uncomplicated manner effortless. Each microservice is focused on providing one particular functionality and data is always served in JSON format and exposed by a public RESTful API.

 

Easily Accessible Blockchain Data

Lisk Service can be used with any blockchain application built with the Lisk SDK and following the Lisk protocol. The key principle is to provide services and features that are complementary to the blockchain application.

Internally, we use it to provide our user interfaces blockchain data, specifically all blockchain data persisting within Lisk Core to Lisk Desktop and Lisk Mobile. Lisk Service makes it possible to access real-time blockchain data in a similar approach to the regular Lisk Core API. However, to keep the Lisk SDK flexible and lean, we minimized it's API capabilities which is mirrored on Lisk Core. That's where Lisk Service comes into play which provides developers with much more powerful capabilities.

 

Lisk Service API vs Lisk Core API

The major benefit of using Lisk Service is to gain easier access to blockchain data, while simultaneously have more powerful options.

With the Lisk Service API you can retrieve the full scope of information, such as blocks and transaction details, account data and activity, delegate voting statistics or network peers combined with geolocation data. Providing a bigger set of API calls than the Lisk Core API. For blockchain application developers it's a more simple approach to expand the blockchain data they need to feed to their user interfaces.

 

Comparison of Lisk Core and Lisk Service

 

Feature

Lisk SDK/Core API

Lisk Service API

Main purpose

Control of a single node

Holistic view on the whole network

Account metadata retrieval

Limited, based on related blockchain data

With all metadata, combined with additional non-blockchain data sources

Searching 

On account, block, or delegate basis

Search amongst all of these entities is completed in one request: blocks, accounts, transactions, delegates.

Network node statistics

None

Real-time

Network transaction stats 

None

Daily- and monthly-basis

Timestamp resolution

Lisk epoch time based

UNIX timestamp-based

Listing transactions

Currently possible, in the future version limited to blocks

Fully supported interminably

Network nodes

Data from the peer-to-peer layer

Peer-to-peer data with geolocation

 

Questions and Answers

Where Is Lisk Service Used?

Lisk Desktop

Lisk Desktop is currently in the process to fully adopt Lisk Service. Only the most essential blockchain data is requested directly from Lisk Core, as with future versions of Lisk Core, Lisk Service will be the only feasible way to access blockchain data and feed them to user interfaces.

 

Can I Deploy My Own Instance?

Yes, you can! Check out the official documentation to discover how easy the installation is. With Docker, it only takes a few minutes to make it operational. It is not necessary to install a separate instance of Lisk Core, saving you a lot of disk space and memory.

 

Can I Make Any Adjustments?

Yes, it’s open source! The project is well-structured and well-organized, which makes it a perfect base for your custom features and new API endpoints.

Moreover, the project itself is based on microservices and you can always create your own one from our template. This in turn makes your product highly customizable. If you create a custom transaction with the Lisk SDK, you may want to add support for it in your own Lisk Service instance.

 

Does It Support Custom Blockchains Built with the Lisk SDK?

All basic features are always supported. Anything that is not a part of the vanilla Lisk SDK, such as custom transactions, needs to be added as a new microservice to your Lisk Service instance.

 

Conclusion

In summary, Lisk Service is a new product for developers that can make Lisk and blockchain application user interfaces much more proficient and feature-rich. Giving developers the option to design their blockchain applications with the user in mind. 

Learn more about Lisk Service on the official documentation page. For further questions and comments about Lisk Service, we will host an AMA on Lisk.chat with Michał Tuleja (Lead Backend Developer), on Monday, September the 28th at 4 pm CEST.

 

Lisk is on a mission to enable you to create decentralized, efficient, and transparent blockchain applications. Join us:

Michał Tuleja

Lead Backend Developer