Lisk Elements 1.0.0 Release

in #blockchain6 years ago

1_KB_69HZK5u5X21vWDiUdxA.png

We’re excited to announce the release of v1.0.0 of Lisk Elements, our new general-purpose JavaScript library. Lisk Elements replaces LiskJS as our go-to resource for Lisk-related JavaScript functionality. It is intended primarily for JavaScript developers, and we currently use it in several of our own products, including Lisk Hub and Lisk Commander. In this post, I’ll explain what is new, how this release relates to the upcoming releases of other products, and what is next for Lisk Elements.

A complete codebase redesign

Lisk is a blockchain project, and its primary product has always been the software that runs on the nodes which constitute the Lisk network. In the early days, we needed a way to perform certain actions such as submitting transactions on the client side (for example in GUI wallet applications), and LiskJS was created as a way to forward HTTP requests to the public API of a node, or to redirect requests which could be fulfilled locally instead. While this worked well as a way to quickly duplicate certain functions for use on the client, it didn’t result in a natural client-side architecture.

With Lisk Elements, we took the opportunity to redesign the architecture of our library from scratch. We now divide functionality into distinct areas with clear dependencies on each other:

  1. Constants relating to the Lisk protocol or our Mainnet and Testnet networks.

  2. Cryptographic functions required by the Lisk protocol or otherwise recommended by LiskHQ.

  3. Mnemonic passphrase management, aligning with the BIP39 wordlists.

  4. Transaction creators for each transaction type in the Lisk protocol.

  5. An API client for communication with nodes on the Lisk network.

Additional changes include:

  • A new protocol for signing messages using your Lisk passphrase.

  • A clean and extensible resource-based structure for our API client, to make it easier to adjust to changes to the Lisk Core API.

  • Exposing many more utility functions than before.

  • Renaming exposed functions and variables so that their purpose is much clearer.

Lisk Core v1.0.0 is coming

The release of v1.0.0 of Lisk Core will significantly change the Lisk ecosystem, therefore all of our products need to align to ensure this next release goes smoothly. Lisk Elements–as a JavaScript library–is used by almost all of our other products, but does not depend on any of them directly. Therefore, we’re releasing v1.0.0 of Lisk Elements first in a wave of product releases related to this update.

Please bear in mind that the API client for Lisk Elements has been designed to work with the new public API, which is available in Lisk Core v1.0.0. So if you install Lisk Elements, you’ll be able to use it immediately on the Testnet (which already supports the new API), but you’ll have to wait for the next release to be able to use it on Mainnet.

The future of Lisk Elements

While the v1.0.0 release has been our main focus, we’ve already made significant progress on subsequent releases of Lisk Elements. We plan to publish each component of Lisk Elements as a separately installable package. For example, if you want to use the API client but don’t want to use our recommended mnemonic passphrases or related transaction creators, you should be able to install the API client only. This will be possible in v1.1.0.

We’re also working on improving validation and error messages. Already in v1.1.0, we’ll expose a general-purpose function for validating transaction objects, but beginning in v2.0.0, we’ll be more strict about disallowing invalid inputs when creating transactions. Other than those planned changes, our focus in terms of our JavaScript library offerings will shift from core network functionality to SDK-related features.

Stay up to date with our weekly development updates for more information on the v1.0.0 releases.


Posted by us also on Medium


Is this one of the first posts that you're seeing about Lisk? See more at Lisk.io or Github.