Status Update

November 8, 2018

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

Weekly Development Report

DAEDALUS

Wallet

This week the team continued working on adding test coverage for the IPC-driven Cardano node / Daedalus communication.

The team has improved the NTP logic, which now covers an edge case where the user's machine can’t reach the NTP service and check if local time is in sync with global time. In this case, the user will be presented with an error screen explaining the problem and a link to the Support Portal page with more details about the problem and ways to fix it. The user will be allowed to continue using Daedalus without time sync checks, although this is not advised and should only be done if there is no way for the user to fix the NTP service access.

App Platform

This week the team worked on the API access control layer, preparing the system to issue a JSON web token containing the user's service authorization. An integration test suite was added and a compatibility issue with a dependent library resolved in preparation for progressing the GraphQL service from a prototype to a more developed project. The team also began research into how GraphQL subscriptions can be utilized to offer streams of data to API consumers, and two events were identified for development as part of the value-add layer over the REST API. Progress was made on the platform-based wallet app, including making transactions against the Cardano GraphQL API.

WALLET BACKEND

Wallet

The team completed the first version of a new implementation of Cardano wallet based on Cardano wallet formal specifications. It will be shipped to users with Cardano 2.0.0. after QA is completed.

Testnet

The engineers found some issues with the new wallet implementation while working on the upcoming 2.0.0 release (previously 1.4.0). When transacting, ada would be put back into the user’s account an hour later - this is now fixed and waiting for reviews to be completed.

NETWORKING

Last week a meeting was held with several key engineers and researchers regarding communication protocol design integration. The senior integration engineer is in the process of using the chain selection implementation to power the protocol by way of a typed-transition approach.

DEVOPS

This week, DevOps were busy supporting the upcoming 2.0.0 release (previously 1.4.0) and the longer-term Cardano rewrite. There was also the usual assortment of continuous integration (CI) wrangling, Daedalus, and Goguen work. Last but not least, the team grew and welcomed a new DevOps member.

With regards to CI, the team continued work on the Windows cross-compilation, which is being prepared for a final delivery after the 2.0.0 release, in addition to setting up a CI pipeline for Windows jobs. CI integration for cardano-chain, cardano-wallet, and cardano-shell is also progressing well as part of the Cardano rewrite support.

Further work went into separating build and test derivations, which will allow the team to reduce time from PR submission to approval on Github. The team also started working on automating more aspects of CI.

A major Nixpkgs update was completed, and the team worked to support the development process with version bumps and release notes for 2.0.0. A large chunk of effort went into debugging unexpected issues with address discrimination on the staging cluster. For Daedalus, the team focused on wrapping up the fault injection-based testing work.

Engineers also touched upon workflows by participating in the Cardano versioning discussion and by planning for a separate, engineer-oriented CI, which will allow team members to take full ownership of testing, and reduce disruptions associated with full production-level CI.

Goguen received an update to KEVM and IELE clusters, which unfortunately had to be promptly rolled back because of an acute operation issue discovered, which the team is helping engineers to narrow down. Finally, engineers spent time improving Goguen deployment automation, including supporting features, refactoring, reliability work and reducing divergence with the Cardano deployment stack.

CARDANO DECENTRALIZATION

Design

A senior researcher has made further revisions to the delegation design specification since last week and the latest spec has been sent out for review.

Development

Last week the team concentrated on final code optimization. Engineers helped find and fix performance regression, wrote documentation, and reviewed the new cardano-chain project.

Additionally, team members are preparing for implementation of Ouroborous BFT in the existing code.

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.