SDK 3.0.0 in QA, Lisk Desktop & The Lisk Builders Program

The month of November saw our developer teams progress with the SDK and the Lisk Builders get with experimenting with our toolkit. There are also some exciting news from our UI team for hardware wallet fanatics. Here are the main takeaways:

By Lisk

05 Dec 2019

generic-update_JAN 31 - BLOG.png

SDK & Platform

  • Lisk 3.0.0’s QA phase is in progress, with two alphanet testing cycles already completed
  • All of the remaining weeks of the year will be dedicated to alpha testing Lisk SDK 3.0.0.
  • When we complete the full phase of quality assurance and find the network in a stable state, we will announce the public beta network

UI

Lisk Desktop 1.23.0 has been released, includes new blockchain monitoring features. These include:

  • Display list of latest blocks with custom filtering and sorting
  • Display QR representation of address in wallet
  • Enable users to verify their address using hardware wallet
  • Display list of delegates sorted by their balance
  • Display list of accounts sorted by their balance
  • Revamp register and sign in pages to improve user experience

Lisk Builders

  • Following Lisk.js, we’ve launched the new Lisk Builders Program which offers and opportunity for developers to receive financial support for Proof of Concept applications built using the Lisk SDK.
  • Sidechain Solutions latest Proof of Concept and second recipient of the Lisk Builders Program, Chronicler; a blockchain to store, audit and/or verify various types of content. Edward Trosclair and the Sidechain Solutions team were in Berlin for Lisk.js and presented a full update on their latest projects. You can check the video out here.
  • Moracle project provides a single, extensible API to interact with anything, unshackling blockchain applications and bridging centralized and decentralized systems. Jackson Roberts flew to Berlin to discuss the latest on the project. You can view the talk here.
  • Jonathan Gros-Dubois finished the HTTP API for his DEX project. It allows browsing the decentralized order book for pending orders and supports advanced filtering and pagination.

SDK & Platform

Lisk 3.0.0’s QA phase is in progress, with two alphanet testing cycles already completed.

During the development of this major release, we have completed the “Security and Reliability” protocol roadmap phase and have moved on to testing on the temporary alphanet. During this process, we have identified certain issues (outlined below) and continue to release new alphas with the fixes. When we complete the full phase of quality assurance and find the network in a stable state, we will announce the public beta network, as we did when we published V1.[[a]](#cmnt1)

QA testing for Block Synchronization Mechanism, Fast Chain Switching, and Fork Choice Rule has been also completed. You can read more about these features coming to 3.0.0 in the previous Development Update.

During the QA phase this month, we have completed the following improvements and bug fixes:

  • Added delegateMinHeightActive needs to be included in the calculation of prevote and precommit 4349
  • Fixed Byzantine Fault Tolerance-related issues:
  • Duplicate key violation during synchronization: 4532
  • Block Finality: The block was not finalized as the earliest active round calculation for the first 5 rounds were incorrect, which was addressed by 4546
  • Invalid transaction payload during RPC causes network isolation: When the peer sends a payload with invalid data format, all the nodes in the network were crashing leading to network isolation, this issue was addressed by 4501
  • Block ordering issue: The block read from the database entity was returning the incorrect order leading to invalid block deletion, which lead to the synchronization mechanism to fail, which was addressed by 4518
  • Fixed DPoS related issues:
  • Finished Syncing & Snapshotting against Mainnet Database with new DPoS Module
  • Mem accounts state comparison after new DPoS Module implementation: 3686
  • Improve Framework unit/functional/integration tests
  • Lazy push for transactions: Since transactions are not time-critical, we switch to a lazy push mechanism to broadcast the transaction. At regular intervals, the transactions selected by the transaction pool mechanism of a node will be announced to all connected peers by sending a list of transaction IDs. The peers can then request the full transactions explicitly from the Lisk node. 3344
  • Peer information retention: After disconnecting from a peer, a peer's reputation and productivity information will now be retained even after disconnect.
  • Source group bucket calculation: For new peers, the IP address of the peer from which we receive the peer lists will now be included in the bucket calculation. Given a source_group IP address (a peer who provides a peer list), all IP addresses advertised by this source_group are hashed to at most 16 buckets.
  • Seed peer discovery: After receiving peer lists from seed peers, we disconnect with them. If a node cannot successfully establish minimum outgoing connections within 30 seconds, it will fall back to querying seed peers for peer lists until it reaches the minimum number of outgoing connections number.
  • Remove nonce broadcasting: The nonce property is removed from all of the RPC endpoint’s response and validation since it was unnecessary.

All of the remaining weeks of the year will be dedicated to alpha testing Lisk SDK 3.0.0.

UI

Lisk Desktop 1.23.0 has been released, includes new blockchain monitoring features

Last month we released Lisk Desktop version 1.23.0. As mentioned in the last Development Update, we have renamed the Lisk Hub project to Lisk Desktop and the application itself is now called Lisk. Download it here.

Lisk Desktop 1.23.0 introduces new monitoring features to help advanced users get rich information about our blockchain, elaborated on below. You can find these features though the Monitor item in the top navigation bar. Monitoring features are temporarily only available for testnet and mainnet. So if you connect using your custom node, you won’t see Monitor item in the top bar. We’re working to make these features available for custom nodes too.

Display list of latest blocks with custom filtering and sorting

By using this feature, you can browse through all the blocks and get detailed information about each one of them, including the list of transactions confirmed in this block. At the moment, the data on this page doesn’t automatically update, but we plan to add this feature in upcoming versions. You can filter the blocks based on the delegate who forged the block, date range and some other properties.

Monitor.png

This page enables you to sort the blocks based on their height. Click on the height title a few times and you’ll see the list of blocks change to sort from the latest to the first and vice versa. A small triangle in front of the title display the direction of sorting.

Display list of latest transactions with custom filtering and sorting

Next, you can browse through the list of all the transactions over the blockchain. This is similar to the list of transactions you have in your wallet page, but it’s not limited to your account and it extends filtering options. The list of transactions in this page, assuming not filtered, includes all transactions over the blockchain sorted by date. The filter panel introduced in this version is a lot more powerful than what we had before on the wallet page. Using this new panel you can filter transactions from any sender to any recipient. You can filter them by transaction type, date or for a given range or amount. It also works for any combination of the above filters.

Monitor2.png

Additionally, you can sort this list based on date and amount. To achieve this, click on the column title.

Display list of accounts sorted by their balance

We have a similar feature on Lisk Explorer called top accounts. On Lisk Desktop, we simply call it accounts. It displays the list of all accounts over Lisk blockchain, sorted by their balance. So the account with the most tokens is displayed first. You can use this page to find out about the owners of top Lisks accounts.

Monitor3.png

Display list of delegates sorted by their balance

You might ask why do we have the list of delegates in two places? To answer that, we have to explain that advanced users use the list of delegates for two reasons: A. getting updated information about delegates activity and DPoS properties and B. voting for delegates and reviewing their vote list. Both actions are complex and require enough space to interact with. If you click on the list of delegates from the top navigation bar, you’ll find the old list of delegates. It will display fewer information for each delegate but gives you voting functionality. You can display the list of delegates you have or have not voted individually. If you navigate to the monitor tab, and then click on delegates, you’ll receive more information about each delegate. The forging time and status display the latest values for each delegate based on their activities on the network.

Monitor4.png

To make this list more valuable, in upcoming versions we’ll add graphical statistics to this page so you can get an overall picture of network status in one glance.

Monitor5.png

Last but not least, this list is sortable based on rank and productivity of the delegates.

Display QR representation of address in wallet

Another delicate touch on the wallet page is the QR code representation of the address. Now if you need to read an address from Lisk Desktop and use it in Lisk Mobile or any other application, you can simply scan it.

Monitor6.png

Enable users to verify their address using hardware wallet

We have received a request from our community members to enable users to verify their address in their hardware wallets. In other words, they asked for a button that when you clicked on it, it triggers your hardware wallet to display the address with which you have signed in. Vividly, this feature is only available if you have used a hardware wallet to sign in to Lisk Desktop. You can find this button in the wallet details panel, next to the QR code and copy buttons.

Revamp register and sign in pages to improve user experience

As explained in our previous development updates, we have run a series of user testing sessions and enhanced the UX of some pages. Lisk Desktop 1.23.0 revamps the register page, sign in and voting pages to bring more clarity to users. One of the issues new users faced using Lisk Hub (back then) was with setting up their passphrase. Since we used 12 separated inputs for the passphrase, most users couldn’t understand that these 12 words belong to a passphrase and they have to be saved together. We have merged these inputs to display a single entity instead of 12.

Monitor7.png

We have also rearranged the options in the sign in page and got rid of the first landing page. Now you get all the options you need for signing using the passphrase or a hardware wallet, browsing as guest and registering a new account in one page. Additionally, you can sign in while enabling the discreet mode. In order to keep the application consistent, the aforementioned improvement of the passphrase input is applied to the register page too.

To top that, we have improved the voting process on delegate page. Since there are around 2,000 delegates on the Lisk blockchain, it was difficult to find low ranked delegate scrolling down the page and then scrolling up to submit votes. We created a sticky action bar to stay visible when you scroll down the list of delegates. This will make it accessible at all times.

Monitor8.png

Lisk Builders

  • Following Lisk.js, we’ve launched the new Lisk Builders Program which offers and opportunity for developers to receive financial support for Proof of Concept applications built using the Lisk SDK.
  • Sidechain Solutions’ latest Proof of Concept and second recipient of the Lisk Builders Program, Chronicler; a blockchain to store, audit and/or verify various types of content. Edward Trosclair and the Sidechain Solutions team were in Berlin for Lisk.js and presented a full update on their latest projects. You can check the video out here.
  • Moracle project provides a single, extensible API to interact with anything, unshackling blockchain applications and bridging centralized and decentralized systems. Jackson Roberts flew to Berlin to discuss the latest on the project. You can view the talk here.
  • Jonathan Gros-Dubois finished the HTTP API for his DEX project. It allows browsing the decentralized order book for pending orders and supports advanced filtering and pagination.

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