Status Update

June 7, 2018

Status Updates (June, 2018) > June 7, 2018

Weekly Development Report

DAEDALUS

Last week the team continued with the React 16 upgrade which includes integration of the latest React-Polymorph version. This work has been completed and the code is in the final review and testing stage.

The team resolved paper wallet certificate PDF compatibility issues which prevented printing of the certificate on some systems.

In order to improve security, the team decided to disable Node.js integration in Daedalus rendering process. The work on this task was started and will be continued throughout the next week.

The team added all of the existing wallet screens to Daedalus Storybook integration. Storybook is a UI development environment used for rapid UI prototyping and inclusion of existing wallet screens will ease and speed up future UI development.

In the scope of the maintenance tasks, the team started with the implementation of acceptance tests which will cover Daedalus update mechanism and toggling of used wallet addresses on the wallet "Receive" screen.

WALLET BACKEND

Last week the team once again concentrated on new wallet specifications and development.

A team member has spent the week working on implementing the input selection for generating transactions. He also spent part of the week working with a different team member on fees. In particular, the duo have extended the code to deal with fee estimation, introducing the concept of ExpenseRegulation, a generalization which allows it to specify if the sender or the receivers pays for the fee.

The latter part of the duo has spent their week on continuing with the study of input selection. The team is striving to optimize the input selection strategy in an effort to keep the UTxO small and avoid creation of dust entries. This strategy is currently being thoroughly tested via various simulators.

A different team member continued working on the data migration from the old storage to the new storage. However, towards the end of the week, the team have realized that they could avoid the tricky migration process altogether and rely on wallet recovery instead (that is, going from a local copy of the blockchain towards the new wallet and metadata storage), since this process is not as time-consuming as was previously estimated, and is more reliable and precise (for example, regarding checkpoints). However, not all metadata is present in the blockchain, some are still only present in the old wallet storage. The team is now making sure they recover that data in the old wallet as necessary to properly populate the new HdWallet and TxMeta.

Another team member is in the process of starting to wrap up his work on the acid state implementation.

NETWORKING

Last week the team started to work on the communication protocol design and the goal here is to move away from synchronous request/response. The request/response design is essentially a node that sends requests to another peer to get a block and gets a response with that block. A team member has begun to sketch an implementation of a new inter-node communication protocol using a single bidirectional channel for all data and control messages.

DEVOPS

Early last week DevOps supported the launch of KEVM Testnet, Cardano 1.2, and Daedalus 0.10. As issues were discovered, DevOps helped to diagnose and prepare fixes. A scenario was identified where the Windows installer for Daedalus may not replace the previous version automatically. We also found a regression which prevented the Cardano launcher from logging. Fixes have been implemented for both issues and will undergo QA testing in a hotfix release candidate soon.

CARDANO DECENTRALIZATION

Research and Design

Incentives

In the continuing effort of compiling an Incentives design document, a meeting was held with the team to discuss how monetary expansion will work and the proposed incentive mechanism. A research paper is planned to be submitted by the end of July/beginning of August for a conference in December.

Additionally, three blogs will be published online with embedded videos, covering the following:

  • How do we ensure Sybil attack resistance on the level of stake pools
  • What is the optimal level of decentralization for the system
  • What will be the final monetary policy before the launch

GOGUEN

Fundamental Research

Last week saw a lot of progress in terms of high level planning on formal methods approach. The team is currently reaching out to other IOHK researchers in order to amplify the effort.

Languages and Virtual Machines

The team has successfully completed the 5M test runs for Reagan.

End Users and External Developers

Since reaching out and working with external developers and end users is such a big part of the project, the team has spent an ample amount of time last week in supporting preparations for activation of the StackExchange site, dedicated to the Goguen release and its various features.

Testnets

Last week saw the successful launch of the KEVM testnet. This of course meant that the team had to engage in supporting KEVM testnet. The team reports that this effort is progressing very well.

Additionally, the team is preparing plans for IELE testnet and gathering lessons learned in order to have a smoother roll-out and support of the upcoming testnet.

EXCHANGES

The core of the work pertaining to the Version 1 API is complete and will be released in 1.3.0. The team plans to outline further development strategy in the coming days.

ANNOUNCEMENTS

IOHK is currently looking for talented people to work with us as a Front End developer, Exchange Experience Engineer/Coordinator, Software Test Engineer, Senior Events Manager, Testnet Community Manager, Development Experience Manager as well as several others. Please see the IOHK Careers page for more details.