Status Update

August 9, 2018

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

Weekly Development Report

DAEDALUS

Wallet

The team continued the work on the integration of V1 Cardano wallet API in order for Daedalus to be ready for depreciation of the V0 Cardano API.

The team also prepared updates to the integration of the problem reporting feature with Zendesk support. For the upcoming Byron testnet, testnet version of Daedalus needs to submit more details in the problem report in order for the support team to distinguish testnet version of Daedalus from the mainnet one.

App Platform

The team continued building proof of concept #1, focused on persisting of application and platform state. The team fleshed out new service permission flow for allowing and revoking access to certain services for the applications.

WALLET BACKEND

Last week the team worked on implementing all the wallet-related endpoints which, when completed, will meet the specifications set out by exchanges.

A developer has continued work on support for updates for V1 Of the API. After close analysis it was determined that this particular effort is intertwined with the wallet restoration work. The team has since engaged in the effort of writing code to bridge the gaps between the two tasks. In particular the developers wrote an adaptor that gives access to more of the underlying node state, and a module that gives current and historical accepted update proposals on the blockchain and adds this information also to the wallet checkpoints. This will provide the starting point for restoration.

Another team member implemented the first of the extensions to blockMeta testing (introduced a DSL BlockMeta type and interpretation to Cardano BlockMeta, this allows for full blockMeta comparison in the tests, which was previously doing weaker comparisons between expected and actual BlockMeta). Currently, the team member is working on the 2nd extension: allowing for multiple poor actor addresses in the tests.

The developers also further concentrated on providing support for history tracking and queries. In particular, the developers dove into Sqlite optimisation needed for his task. The developers also rewrote some of the queries and DB indexes.

Furthermore, the team spent time working on combining their wallet restoration work with their checkpoint and chain brief work, moving ever closer to getting wallet restoration to work. The developers set up some test scenarios and experimental results using org-babel, and used that as the starting point for restoration.

NETWORKING

The team performed TCP performance measurements from across the globe in their effort in the task of Delta Q Measurements Design. The task is expected to be completed in 4 weeks.

The team have started developing implementations for both proposals of the Communication Protocol Design. Team members have made good progress with state machine description of the protocol and added free monad machinery.

Additionally, the team furthered their efforts in facilitating Peer Discovery Implementation and spent time working on expanding testing as well as begun to look into integration with cardano-sl.

DEVOPS

Both KEVM and IELE testnets received a series of deployments, with IELE subsequently graduating into a public launch on July 30. The week saw a number of fixes to the Solidity compiler and Remix IDE integration, as well as preparation for major monitoring improvements.

The Byron testnet is on course for the upcoming release and has now entered pre-launch testing phase, while also continuing to receive deployment infrastructure automation improvements and the faucet code being reviewed by the team for operational concerns.

The Cardano staging cluster saw the 1.3.0-RC6 staging deployment. Further work on UTxO fragmentation experiments was being conducted. Development scenarios were addressed by improved support for custom clusters built with Stack. Wallet integration tests were being debugged. Demo cluster setup procedure was prepared and documented. Clusters now also enjoy enhanced deployment monitoring, improving organisational awareness.

On the Daedalus side, the 0.11.0-RC6 wallet update was proposed on the staging blockchain. An effort to redesign the end-user log submission for increased robustness was initiated. Further work on Linux installers included proposal automation and Appimage support, as well as work on Daedalus icon set refresh.

This week a separate effort on planning of DevOps organisational security and robustness improvements was started. DDoS resilience improvements were being laid out for the KEVM/IELE infrastructure.

CI improvements continued this week -- we worked on a wide range of issues, and importantly on the Haskell cross-compilation from Linux to Windows, which should help us to significantly reduce overheads. A bug in ghc-pkg was worked on. We successfully completed a major migration of our entire infrastructure to the version 2 of Nix package manager. To facilitate better test coverage of Cardano upgrade scenarios, new machinery for hetero-versioned deployments was being designed and implemented.

CARDANO DECENTRALIZATION

Research and Design

The delegation Design document underwent several revisions to now include the rewards mechanism. The latest revision is due to be completed by the end of the week and sent for review.

Development

The team reports that refactoring is due to be complete by the end of this month.

The team is wrapping up the work by labouring on removing partial field accessors and adding golden/roundtrip tests as needed.

The developers spent their time working on reuniting orphan instances with their types or type classes.

A team member removed the Mockable type class, a typeclass which is a layer of indirection which allows code to be run in different monads without requiring changes to the monadic functions, as well as removing duplicate libraries left from the task of moving networking-related modules from infra to networking, which requires some extra testing so he is working on setting up a test network.

GOGUEN

Languages and Virtual Machines

Plutus & Marlowe development has been progressing at a steady pace , however, the team is now looking to allocate more resources to facilitate better progress.

Testnets

The team spent their first week of supporting IELE testnet in 'production'. Work has started on post-launch plan with comms and marketing and discussions about events and promotion.

Also, the team arrived at an alternative strategy for the technical support of testnets.

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.