Waves Development Update — August

Alexey Kofman
Waves Protocol
Published in
6 min readAug 17, 2018

Waves Node Development

June release

The previous release, 0.13.x, was actually delivered to MainNet in June and brought several much-requested features like Data Transactions, Fair PoS, Transaction Sponsorship and node state optimisation. All these features are now successfully activated on MainNet.

The team implemented these features rather quickly in response to demand, which brought its own drawbacks — specifically a few issues that weren’t caught during the testing phase. Our conclusion is that it’s more important to ensure appropriate product quality and stability than to guarantee an exact release schedule.

Igor Pavlov, our new project manager who joined the node team in June, is now in charge of setting up the proper process for upcoming releases. This process includes:

  1. Comprehensive test design and test automation
  2. Proper functional and non-functional testing of release candidate on TestNet
  3. Public bug bounty and third-party audit
  4. Gradual rollout to MainNet starting with non-mining nodes, official wallet nodes, small miners and then large miners

Upcoming Node release

The major feature for release 0.14 is Smart Accounts (phase one). This functionality is already complete. We have published the release candidate build and are now testing it on TestNet. We expect final release by the end of August or in September.

Smart Accounts allow users to apply a script to an account to control all outgoing transactions. Such accounts can be used in multiple scenarios, including complex multi-sig wallets, 2FA, escrow, oracles, etc. Moreover they allow the implementation of more complex applications using a verifiable state transition approach, which will be described later.

In phase one (next release) Smart accounts are partially supported, including every transaction type except Exchange Transaction. Support for exchange transactions will be implemented in the following release, in around two months. This means that during the first phase, smart accounts functionality (for example multi-sig and 2FA accounts), will apply to everything except for trading on DEX.

DEX Matcher improvements

Due to a recent outage of our Matcher the main focus for the team is to address all the issues discovered in this episode. The second task is to continue Matcher optimisation, and our plan is to increase capacity considerably within the next few months. Some technical changes will also be made. We are going to decouple the Matcher from the Waves Node so that we can develop and release it independently and scale horizontally.

Waves Client

After the recent release of DEX and version 1.0, which was in beta testing for several months, the team has been focusing on several important security-related features.

Hardware wallets — Ledger

Integration of the Ledger wallet in Waves Client is complete on the technical side, but we are now waiting for the Ledger team to check our app and so cannot give specific timelines for release. We hope that support for Waves will become available for Ledger users in early September. You can check the Ledger Roadmap regarding support for Waves.

Two-Factor Authentication (2FA)

When Smart Accounts are activated on MainNet, it will be possible to implement features such as 2FA in the Waves Client. There are different ways to achieve this, including a fully decentralised schema with several devices, or semi-centralised (partially trustless) approach with a centralised 2FA service (e.g. Google Authenticator). The Client team has already started work on a 2FA prototype, since Smart Accounts are available on TestNet. We can expect this feature to be available within a few months.

Browser Extension: Waves Keeper

We have recently started a new project: a browser extension that allows users to store their private keys safely and interact with third-party websites by signing transactions without disclosing their keys. Such a tool is very important for the growing developer community. The name we have chosen for this extension is Waves Keeper.

Mobile Applications

Many users have been waiting for an update to our Waves Mobile Applications. We have been working hard on this over the last few months. The mobile apps team has been increased to 8 people: 1 UI/UX designer, 3 iOS developers, 3 Android developers and 1 backend developer. We are also looking for a QA Engineer with a solid test automation background.

Our Mobile apps team has finished developing the new UI, which you can see below. They are now completing integration with backend services.

The iOS application is a little ahead of the Android version. There are many things still to do but we will make every effort to complete and ship the product as soon as possible. The current schedule for this is September or October.

For Developers

Apart from everything listed above we are working on a number of projects aimed at helping developers create their own projects on the Waves Platform. Here are some of them.

Data Services

Our Data Services team is working on new APIs. The main goal of the API is to provide a simple and convenient way to access data on the Waves blockchain. Data Services continuously synchronises with the blockchain and stores data in a relational database, so it is more flexible and simple to aggregate data or gather data based on given conditions. The service is currently in v0, so please use it with caution. If you want to use Data Services, help us with development or if you you have specific use cases for Data Services, please visit our Github or the official forum.

Ride IDE

We continue working on our online IDE for Ride smart contracts. In the last few weeks we have worked on adding an interactive console (REPL), in which you can deploy scripts, make transactions and run normal JS code. The console works using auto-completion and shows tips for how to use all functions:

Docker container

We have had a lot of questions about the easiest way to run a Waves Node. Now we have made it as simple as possible with the new Waves Docker container. It literally requires just one command to enable everything or change the settings of the node. You can find instructions on Github.

New languages for documentation

Our documentation is constantly being updated. In the last two weeks and with the help of our ambassadors, we have added many pages in the Korean and Russian languages. The English version is still the most detailed, but we anticipate that in the near future all other languages will match it. If you think you need documentation in another language and are ready to translate it, please sign up to the repository.

Online hackathon results

On 2 July we launched an online hackathon lasting 3 weeks with a prize fund of 2,000 WAVES. The hackathon was dedicated to Waves’ non-Turing complete Smart Contracts. We offered participants several ideas to implement such as Multisig, Escrow, Atomic swaps, and a Betting platform. On 28 July we announced the results of the hackathon. It was very hard to make a choice and select an outright winner, so we decided to award two projects with second and third places too. You can find the list of winners on the forum. We would like to thank all participants for their time and effort.

--

--