Status Update

November 29, 2018

Status Updates (November, 2018) > November 29, 2018

Weekly Development Report

DAEDALUS

Wallet

This week the team continued working closely with the QA team on resolving newly identified issues as part of the Daedalus 0.12.0 with Cardano 2.0.0 release process. All identified issues have been successfully resolved and the fixes have been confirmed by the QA team.

The fixes include:

  • a fix for a problem when starting Daedalus while the time on the user's machine is incorrect with the offset to the past

  • a fix for a problem with wrong transaction status and display of pending transaction amounts on wallet "Summary" screen during wallet restoration process

  • a fix for a misconfiguration which caused debug-level logging messages to be recorded in Daedalus log files

The team is also implementing better handling for the low disk space warning. Once implemented, Daedalus will shutdown Cardano node if disk space gets too low, and show an error screen asking the user to free up more disk space to continue using Daedalus.

In the scope of regular maintenance tasks, the team has continued to work on quarterly Daedalus dependencies updates and started refactoring layout components, which should reduce re-renderings and increase performance. The team has also fixed an issue with the acceptance tests set-up which caused false positive test failures with the application-shutdown scenarios.

App Platform

This week the team implemented the first Cardano GraphQL subscription to push changes to the Cardano node connection status over a websocket managed by Apollo Server. Apps can use this information in a number of ways, for example: to avoid or delay sending requests, disable UI elements, or present a notification on screen.

The team made Daedalus components work on Cardano wallet app by changing the build system from "create-react-app" to "nwb", which allows custom webpack customizations. This has enabled the team to use CSS submodules and SVGs the way they are used in Daedalus without breaking the build.

WALLET BACKEND

As part of the work to implement the node management and monitoring API, the team has moved most of the implementation logic related to the API from the wallet to the node. The wallet will be able to reuse the logic by using cardano-sl as a library, which will improve code reuse between cardano-sl and cardano-wallet repositories.

The team also concentrated on moving and renaming the BIP39 module to cardano-sl as mnemonic. The team have reversed this dependency and have made the BIP-0039 implementation part of cardano-sl as a new mnemonic package. In addition, the engineers have relocated a few executables and scripts inside this new mnemonic package.

NETWORKING

The team has started documenting their initial ideas for the new approach to the peer discovery layer. The next steps are to finish writing it up, propose an algorithm, analyze it from a threat perspective, and start building an initial simulation

A senior engineer has also started working on block download logic, with the next step being to sync previous work on block download protocol with their ideas.

DEVOPS

This week the DevOps team were operating at a reduced capacity, and were largely busy with incident management, but also continued the usual stream of CI improvements and maintenance work.

CI efforts included improving cross compilation ahead of final production readiness, migration of our build pipeline definition to the new nix-tool mechanism, and continued CSL submodularization in support of the Cardano rewrite.Daedalus saw some issue triage, and a new EKG dashboard feature.The team also worked on improving support desk automation to ease workflow, and reviewed some of the plans for Shelley.

CARDANO DECENTRALIZATION

Work on the initial architecture continues, and the team switched to a new version for the architecture for cardano-shell. The team spent time merging the initial architecture and working with the monitoring team on integrating the code. Two of the team members are working on a logging prototype to be integrated with the node-shell and the networking efforts in ouroboros-network.

ANNOUNCEMENTS

IOHK is currently looking for talented people to work with us as a Rust Software Engineer, Haskell Trainer as well as several others. Please see the IOHK Careers page for more details.