Status Update

August 23, 2018

Status Updates (August, 2018) > August 23, 2018

Weekly Development Report

DAEDALUS

Wallet

Last week the team was focused on the preparation of the Daedalus 0.11.1 and Cardano 1.3.1 release. An additional fix for a problem where Daedalus was improperly started in case users used the "Pin to taskbar" option on Windows platform was implemented and tested.

The team is still working on the integration of V1 Cardano wallet API with only a couple more of V1 API endpoints to be integrated.

App Platform

In the scope of the work for the proof of concept 1, the team has finished the foundation for state persisting and better separation of layers in the codebase. The team has successfully updated test suite to cover new changes.

WALLET BACKEND

The team spent a significant amount of time working on high priority tasks in anticipation for next week's release. This included updates to the code, testing, and code optimization. Additionally, some team members concentrated on improving restoration and focused on recovering accounts and per-account balances during wallet restoration. Instead of recording a lot of chain metadata in the wallet checkpoints, the developers created a way to record the bare minimum and instead rely on the underlying node to get the rest of the info.

Other developers have completed the BlockMeta test work and started on a “Wallet Spec ~ Code” document that maps the wallet spec types and definitions to the exact locations in the new wallet code, along with some more details and context on how the spec and codebase relate.

Also, the team has closed several tasks regarding the Tx history endpoint and made some progress on the child task, for incoming Txs tracking. The developers also added some entry points for the TxMeta for newPending and Foreign Txs. The only thing missing around TxMeta is to write the tests and change the persistence of the db to be on disk.

NETWORKING

The team have validated the design assumptions for Delta Q Measurements Design, with a set of real-world experiments between cloud computing data centres worldwide. This gives the team greater confidence that the design should support high performance at world scale.

Additionally, the team members have implemented a prototype of the Communication Protocol Design which supports simulation in a different style to the approach proposed by a senior engineer. The prototype is a relatively simple first approximation: it's consumer-driven, allowing for the negotiation of an intersection point (so-called read pointer), the download of headers and blocks from oldest-to-newest, and the re-announcement of the tip by the producer (extension or fork, relative to the read pointer).

A team member spent some time getting familiar with the Kademlia papers, in regard to Peer Discovery Implementation and with the existing peer-to-peer code-base. They have since been working on expanding the testing harness to make it somewhat realistic, and addressing some problems that were revealed in the bootstrapping process.

DEVOPS

Devops continued preparatory work for the 1.3.1 release, including participation in Daedalus hotfix development -- in particular the GPU safe mode and the direct launch issue. In addition, the Linux Daedalus continued ramping up for its 1.4 release.

A Cardano explorer fix has been developed and deployed by DevOps.

CI & deployment tools improvements continued, both in terms of fundamental improvements, such as the Linux-to-Windows cross-compilation and inter-project resource consolidation and also short-term fixes.

The team worked on monitoring reliability, including preparations for a datadog agent upgrade.

The Plutus project support is a new thread of DevOps activity, and this week we saw Haddock and Hydra being worked on.

Cardano public testnet launch preparations included further pre-deployment planning, QA support and tooling improvements.

Another major theme was end-user report handling, which saw a lot of effort going into investigation and fixes in Zendesk interoperability, but also the integration with the upcoming testnet.

CARDANO DECENTRALIZATION

Research and Design

The team reports that the Delegation e-print of the research papers is soon to be released.

Two members of the research team spent their time doing the finishing touches on the Design document. In particular, they still need to describe the new rewards sharing mechanism in detail, double-check where they will need public keys, and where public key hashes are sufficient, and update the chapter on tracking the necessary state.

Development

The development team spent time working on block storage as well as core optimization. Several of the team members dedicated their week to working on address discrimination and improving file readability and maintainability.

GOGUEN

Languages and Virtual Machines

The Marlowe team has now optimized their processes and is using company standard for work tracking.

A newly hired specialist has started working with Plutus and Marlowe team on CI and wallet integration as well as supporting K/IELE.

End Users and External Developers

Last week a testnet technical support engineer has joined the team. The engineer will support all Goguen testnets (up to 10 including both public and private testnets).

Testnets

The team reports a third week of supporting IELE testnet in 'production'; no issues reported. Additionally, the team has been working on tasks for IELE testnet and maintainability changes (logging).

ANNOUNCEMENTS

IOHK is currently looking for talented people to work with us as a Community Manager, Director of Product Management, Technical Writer, Open Source Manager, as well as several others. Please see the IOHK Careers page for more details.