Status Update

March 29, 2019

Status Updates (March, 2019) > March 29, 2019

Weekly Development Report

DAEDALUS

Wallet

This week the team implemented system location detection, to be used upon initial Daedalus launch to present the interface in the appropriate language, with English and Japanese languages currently supported.

The text shown on the 'Support' screen has been updated to reflect the removal of the in-app support request feature. Users are now expected to submit their support requests through the IOHK support portal web form. The updated text instructs the user to download and attach Daedalus logs to the web form manually, and to help with this the team has added a 'Preparing logs for download' notification which is shown during log file compression before the logs are saved to the hard drive.

The team has also nearly finished the implementation of a new 'Wallet's UTXO distribution' screen, with code changes under final review and test.

In the scope of regular maintenance tasks, the team has carried out a significant code cleanup, which has removed all linter warnings from the Daedalus codebase.

App Platform

This week the team completed the Docker execution engine, as well as collaborated with the Plutus team to refine the emulated wallet API and off-chain HTTP interface. The latter establishes a network communication channel between the trusted control process and the untrusted execution environment. The project is now being formalized as the smart contract backend and dockerized in an effort to produce a dev tool for dApp developers, and later to also form a hosted production stack. Work on the chain observation and triggers service also begun.

BACKEND OPTIMIZATION

Following the introduction of a new agile development process, the team has successfully created an initial 'pre-release' version of the new wallet backend. It's still in the early stages but combines a lot of the fundamental functionality the team has been working on for the past few weeks.

Elsewhere, engineers have started integration work with testnet and mainnet to make sure the various low-level building blocks are fitting nicely together. In the process, the team restored a wallet using a sequential address scheme similar to BIP-44, with enormous improvements in memory allocation and time elapsed compared to the current legacy implementation.

Work has started on translating the API specification document into concrete Haskell types which can be used to create both a wallet backend web server and a command-line interface to interact with Cardano random (current Daedalus) and sequential (Yoroi/Icarus) wallets!

NETWORKING

The networking team has been working on version negotiation for the multiplexing layer this week, and has started writing high-level convenience interfaces for the network layer. Engineers also reviewed the block-fetch logic responsible for downloading blocks from peers which headers diffused through the chain synchronization mini protocol.

The team is happy to announce that the Byron proxy, responsible for connecting old Byron nodes with new Shelley nodes, is now capable of downloading blocks from a Byron node and echoing them through the chain synchronization mini-protocol over TCP. Steady progress has also been made on writing a technical specification of the network layer and its design.

DEVOPS

Continuous Integration

The team continued work on integrating nix-tools with the new repositories, including cardano-shell and plutus.

Cardano 1.5 Release

The team worked with QA and the release manager on various release activities, and mainnet was updated this week. Engineers also worked on a 1.5.1 hotfix to fix a migration issue affecting wallets with spending passwords that occurred when migrating from an older version.

Monitoring

The team continued the migration process to a new set of monitoring tooling. Engineers are working on upstreaming their changes to NixOS for Prometheus 2. The team expects to have a working environment by the end of the week.

CARDANO DECENTRALIZATION

Research and Design

The team and researchers reviewed the specs for the chain-level validation and operational key certificates.

Development

Integration of various parts of the implementation is progressing. It should soon be possible to validate the existing blockchain in the new code base, which is an important milestone in the transition from Byron to Shelley. The on-disk storage system is nearing completion. A part of the team has researched the in-memory representation of the UTXO, looking for potential optimizations.

GOGUEN

This week the Plutus team worked on updates to the Plutus Core specification and on preparation work for multi-currency support in Plutus Playground. Work was also completed on improving error messages and user interface problems. The Marlowe team have been busy working on the design for Meadow in the cloud, as well as a zero coupon bond example.

Work continued on content creation for the Marlowe educational materials and plans for the Plutus training courses and other assets.

ANNOUNCEMENTS

IOHK is currently looking for talented people to work with us. Please see the IOHK Careers page for more details.