Everything You Need to Know About the Successful Release of Core 1.0 to Mainnet
The Lisk project has reached its most important and exciting milestone to date! Following a rigorous period of development, testing and quality assurance to guarantee the release of only the best possible product, Lisk Core 1.0 is now on Mainnet! All 101 Lisk delegates migrated in less than 24 hours and are successfully forging and securing the network. The majority of nodes before the migration have already migrated and 8252 transactions have been executed so far.
Our development team has worked incredibly hard to bring the project to this point. We also want to thank everyone — our community and delegates — who helped make this migration a big success.
Along with the release of Lisk Core 1.0, we have released Lisk Elements 1.0, Lisk Commander 1.0, Lisk Hub 1.0, Lisk Explorer 2.1.4 and Lisk Nano 2.0 over the last few weeks. All of the various components of the Lisk ecosystem have evolved to maintain compatibility with one another. Each product brings about its own major updates, further functionalities and advanced features. Read on to learn more about them all.
The Lisk Core product was first created in February 2016 and has since seen 41 iterations — the most recent version prior to Lisk Core 1.0 was Lisk Core 0.9.16. Getting to this point in our development involved making over 8,000 commits and closing over 1,000 issues with thousands of peer reviews. Lisk Core 1.0 also included the implementation of an improved Quality Assurance (QA) process. In the future, all releases will include this process.
Introducing the Five Most Important New Features of Lisk Core 1.0:
1. New API & Design
In an effort to lower the entry barriers to Lisk and increase user adoption, we are utilizing REST, a widely-used standard. REST makes our API simple, intuitive and expressive, therefore user-friendly, for all developers.
2. New P2P Communication Layer (also known as Real-Time Peers)
We redesigned our P2P layer to maximize performance and improve the reliability of the network. Peers are now able to stay connected to each other and exchange data using a real-time framework provided by SocketCluster. SocketCluster is a fast, highly-scalable, HTTP and real-time server engine. It removes the limitations of having to run your Node.js server as a single thread and can utilize all of the CPU cores available on a machine. It can scale easily by splitting work between multiple processes. It also helps to make your backend system resilient by automatically recovering workers’ threads in the case of crashes.
3. Transaction Memo
With our brand new data field, you now have the option to attach a custom message of up to 64 bytes to your transaction.
4. Fully Atomic Block Writes
Fully atomic block writes guarantee proper data integrity across the network’s nodes when writing to the database, together with greatly improved processing efficiency.
5. Structured and Rewritten Test Suites
Having a proper test suite is very important for the security of the network, as those efforts will guarantee the appropriate behavior of the application in the future. During the road to Lisk Core 1.0.0, we have written more than 80,000 lines of different test types. We have also completely rewritten most of them to ensure that they can scale further.
In early August, we released Lisk Elements 1.0, the latest general-purpose JavaScript library. Formerly known as “LiskJS” it is 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.
Lisk Elements 1.0 Introduces Five New Key Features:
1. Complete codebase rewrite and redesign
We are now dividing functionality into distinct areas with clear dependencies on each other:
- Constants relating to the Lisk protocol or our Mainnet and Testnet networks.
- Cryptographic functions required by the Lisk protocol or otherwise recommended by LiskHQ.
- Mnemonic passphrase management, aligning with the BIP39 wordlists.
- Transaction creators for each transaction type in the Lisk protocol.
- An API client for communication with nodes on the Lisk network.
2. New API client
The new API client for Lisk Elements has been designed to work with the new public API available in Lisk Core 1.0. We have structured the API-client resource-based so that it is extensible and adjustable to changes in the Lisk Core API.
3. New protocol for signing messages using Lisk passphrase
We have made protocol level improvements on the signing message feature in order to make it more secure. By adding the Lisk protocol-specific header into the message, the message can be differentiated from other protocols and users will be prevented from mis-signing unintended messages.
4. More utility functions
Along with creating transaction functions, we have created utility functions that can also be used independently.
5. Renaming of exposed functions and variables
This makes the purposes of the functions and variables much clearer, making it easier for developers to find the functionalities they are looking for.
Watch Lisk Elements in 1 Minute!
We recently released the latest version of our command line interface tool, Lisk Commander 1.0. Previously known as “Lisky” Lisk Commander is a tool for advanced users of the Lisk network and uses our general-purpose JavaScript library, Lisk Elements. It also provides the functionality to interact with Lisk Core with the use of a command line.
Lisk Commander 1.0 Introduces Four New Key Features:
1. Access more information
The Lisk Commander functions get and list are compatible with the new Lisk Core 1.0 API. This means that Lisk Commander can obtain information related to the blockchain from a particular network.
2. Create, sign, verify and broadcast transactions and signature
With the latest version of Lisk Commander, users can create type 0 to type 4 transactions, which are transfer, register second signature, register a delegate, vote for delegates and register a multisignature account. Separately or with command line pipe in interactive mode, users can sign and broadcast the transaction to the network. If a user receives a transaction, the user can also check to see if it contains a valid signature.
3. Encrypt passphrase and Decrypt passphrase commands now compatible with Lisk Core 1.0
This feature is particularly important for delegates as a delegate needs to encrypt their passphrase locally and insert the encrypted passphrase in the configuration of the node to enable forging. Only the password used to create the encrypted passphrase is sent over the API endpoint provided by Lisk Core.
4. Sign message and verify message
The sign message and verify message commands are often used to prove the ownership of a particular account. Now Commander supports creating such a message and verifies whether or not the signature and message are from the correct owner.
Watch Lisk Commander in 1 Minute!
Lisk Hub is an all-in-one solution to manage your Lisk ID, access and send LSK tokens, as well as vote for delegates. To accommodate the release of Lisk Core 1.0, a great deal of work was done in Lisk Hub 1.0 and Lisk Hub 1.1 to ensure that its entire code base is compatible with the new API and Lisk Elements. For end users, this means that the auto updater will skip version 1.0 and go directly to 1.1.
The latest releases include support for the main Lisk transaction types — send LSK tokens, vote for delegates, register a delegate and register a second passphrase. Each of the transaction types has its own page and sending process tailored for specifics of the particular type. It also includes all the functionalities for browsing and searching the Lisk blockchain. Users can search by delegate names, Lisk IDs, and transaction IDs to find delegates, accounts and transactions. All the search results then link to other relevant objects (e.g. a transaction links to its sender and recipient) to accommodate a seamless browsing experience.
Lisk Hub 1.0 and Lisk Hub 1.1 Introduce Four New Key Features:
1. Reference Field
Lisk Core 1.0 brings about a data field for token transfer transactions. This feature allows users to attach a message of up to 64 bytes when transferring LSK tokens. Lisk Hub makes use of this feature to allow users to write text in a reference field when making transactions. This reference can be seen by the recipient to allow for easier identification and distinction of transactions.
2. Help Page
In Lisk Hub 1.1, we wanted to give users an easy way to get help if they need it. We created a new Help page in the Lisk Hub with links to existing sources — the Lisk Help Center, Lisk Academy, Lisk Chat and specific pages within those sources. The Help page can be easily accessed from the sidebar menu.
3 & 4. Menu highlight and network switcher designs
We also strived to improve the appearance of existing features for aesthetics and usability. The active page is highlighted by a blue stripe on the right side of the menu item. It turns out that this was not sufficient in some user tests. Therefore, in addition to the blue stripe, we also added also a gray background gradient. In addition, we updated the network switcher on the login page. The network switcher was first created as an advanced/developer utility without any regard for the design, because it is not displayed automatically. Eventually, we decided to make this feature discoverable through a switcher in settings. For this reason, we went back to the design table to give the account switcher a proper design that is aligned with the rest of the application.
As previously announced, we are working on a mobile version of the Lisk app. To learn more about our plans for Lisk Mobile, watch Lisk Mobile in 1 Minute!
Lisk Explorer 2.1.4 is compatible with Lisk Core 1.0. However, there are many exciting plans in the works for the future of Lisk Explorer. Please stay tuned for related announcements.
Watch Lisk Explorer in 1 Minute!
Lisk Nano to Be Discontinued in 2019
As the Lisk ecosystem continues to evolve, we’re striving to create the most modern and dynamic versions of all of our products. For this reason, following the release of Lisk Nano 2.0.0, we will not put forth any follow-up releases aside from security patch releases, if necessary. On January 1, 2019, support for this product will no longer be available. However, the repository will remain public and the community will be able to fork it and implement their own features.
The reason we decided to discontinue Lisk Nano is because we would like to shift our focus exclusively to the new Lisk Hub wallet, which is currently undergoing many improvements. This requires the full, undivided attention from the Lisk Hub team.
Our official documentation is a great resource for learning all about the Lisk products, how to use them, how to set up a Lisk node on the network, and much more.
The road to innovation is rarely smooth — our approach has been methodical and measured, taking no shortcuts along the way. We want to give a huge thank you to our incredible community for supporting us through it all. We will continue delivering only the most secure and high-quality products on our journey towards a fully fledged Lisk ecosystem.
-The Lisk Team
Is this one of the first posts that you're seeing about Lisk? See more at Lisk.io or Github.