Status Update

February 15, 2018

Status Updates (February, 2018) > February 15, 2018

Weekly Development Report

CORE

This week the team has somewhat shifted focus from regular development to contribute to writing test cases for release 1.1.0. Testing of 1.1.0 will be one of the team’s major objectives for the next few weeks.

  • Block syncing

Work on block application optimization has steadily progressed. This will allow for gradual performance improvement of block syncing. Furthermore, an experimental effort is being taken to have proof-of-concept for HTTP mirroring of block syncing. This is almost finished and the code is currently in the integration testing stage.

  • Refactoring

Exception handling refactoring has steadily progressed over the past week. The team is approaching the goal of removing all exception handling anti-pattern occurrences to make the code comply to the recently agreed exception handling guidelines. Some work is currently being done on eliminating bad concurrency usages (which is a step forward aimed at a reliable shutdown for the Cardano node). Also, code restructuring refactoring has been successfully completed (the last remaining work was about moving test modules to their proper place).

  • Documentation

Several internal documents were finally agreed upon and merged. These documents include a detailed description for the update system, exception handling guideline and a code diagram for the Cardano SL repository. Work is currently underway to provide detailed documentation on block processing. Last, but not least, specifications for machine-readable logging and efficient storage are being improved.

DAEDALUS

The main goal of the week was the preparation of the next major release 0.7 for React Polymorph library used in Daedalus and testing all of the breaking changes introduced there against Daedalus. The remaining time was spent on testing for the upcoming Daedalus 0.9 and Cardano 1.1.0 releases.

WALLET BACKEND

As of now, the instructions have been sent to the exchange and the migration is pending. A team member will migrate the code to the Master branch so that the team can decommission the prior code. The exchanges tech team has requested more work from our side.

  • Benchmarking

As of last week, the Baselining has been successfully completed. A key member of the team is working on a tool (“dbgen”) to generate synthetic data for the wallet backend, to be used by the benchmarks. As for ongoing work, the second round focusing on working with real-world data has begun.

  • API Rewrite

A team member has been specifically assigned to assist with manual testing. For a more smooth transition process, the old and the new API will coexist (at least initially) on the same wallet backend, making integration easier.

  • Data Layer Rewrite

Version 5 of the semi formal specification has been completed. It has been decided that an extension will be created to include block rollbacks, transaction input selection, and miscellaneous database issues. Last week, partial implementation was initiated and a team member is currently writing the wallet’s business logic. A significant portion of the testing framework has been successfully put in place (Code that translates from simplified descriptions of transactions and blocks into real data types).

NETWORKING

The team is awaiting sign off on new requirements from the stakeholders. The work to decouple the networking layer from the core logic has nearly been completed. The networking team continue to be dedicated to the code update project. Some of the efforts there relate to the networking requirements for decentralisation, therefore the work will also benefit the Shelley programme.

DEVOPS

The team focused on supporting the 1.1 release testing and deployment. Some further work was done on automating the releases and finalizing migration of current CI to the new integration pipeline management software. The team has also implemented code-as-infrastructure for the upcoming recovery service.

MISCELLANEOUS WORKSTREAMS

  • Sidechains

The team is working towards submitting a paper to a conference by the 13th February 2018. The researchers had some exploratory discussions regarding the implementation phase but details are deferred until after the submission date.

  • Hardware Wallet

The UAT part of Phase 1 is in planning, with a view to Phase 1 being completed and delivery sign off being issued to a blockchain consulting company in the first week of March. Planning for Phase 2 (the integration of Ledger Nano S functionality with the Cardano wallet) continues to be delayed due to resource unavailability. A product manager is producing specification for the Daedalus implementation which is scheduled for review on the 15th of February (although this is now highly likely to be delayed). It has been agreed that the initial release will not support delegation.

Tech Support

Last week saw yet another drop in new tickets. The tech support team received a total of 415 tickets, out of which 134 were successfully resolved and the remaining 281 are being followed up. The top reported issues were:

  • Unable to connect
  • Various transaction questions
  • Issues with using the wallet
  • Antivirus-related issues
  • Cannot launch