Status Update

May 17, 2019

Status Updates (May, 2019) > May 17, 2019

Weekly Development Report

DAEDALUS

Wallet

This week the team started working on the implementation of the UI design for Shelley features, which will be the main focus of the team for the next couple of weeks.

In the scope of regular maintenance, the team fixed a minor issue with the caret positioning in the React-Polymorph's numeric input component.

The team has also improved the paper wallet certificate by providing its creation date and time in both the PDF document's name and the certificate's front page.

App Platform

This week the team produced the top-level developer interface for the Cardano JavaScript SDK, implemented a Cardano node provider interface to become decoupled from any one backend, and completed initial work on the wallet interface. This includes deriving the next receipt or change address for a BIP44 public account, querying the UTXO and transaction sets, and coin selection. Work was also completed on the smart contract backend to introduce in-memory contract bundle handling, and improvements to contract API server management.

BACKEND OPTIMIZATION

This week the team finalized the command-line interface for the wallet, including support for wallet management commands and an address scheme similar to BIP44 (same as Icarus/Yoroi). As a result, the wallet backend API for the corresponding commands has also been fully finalized. This was a great milestone to release a second version of the wallet backend (API and CLI) backed into a single executable for Linux.

Meanwhile, the team has also started working on two other major projects: a more production-ready database layer using SQLite; and integrating with Jörmungandr, starting with the implementation of the various new binary formats and network protocols.

NETWORKING

The networking team has been finalizing the design of the version negotiation protocol, which is an important mini-protocol for the Shelley release. It has two core functions: to provide security to the network, as well as provide a mechanism for running nodes easily when an update is scheduled and multiple versions are running across the network.

The team also implemented strict byte limits in inbound channels, and voluntary limits in outbound channels. Inbound limits are the crucial ones, since they protect the system, while outbound limits are voluntary since they can be circumvented by adversarial nodes, but are still useful to detect implementation errors. The inbound limits are static properties of each mini-protocol, which will have to be carefully designed.

DEVOPS

Continuous Integration

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

Monitoring

The team continued with monitoring tooling migration and tested the changes in an isolated environment. The changes have been finalized, but have not yet been deployed to all environments. The team will combine this roll out with the implementation of central logging changes.

Central Logging

The team finished a proof of concept for the new central logging tooling, and is currently looking at collecting the Cardano application logs via a raw JSON file. With the Shelley code base, the team will move to having iohk-monitoring-framework log directly to the new logging tool. Next steps are to add horizontal scalability to the search nodes.

Stakepool Tooling UI

The team continued designing the UI for stake pool operators to handle common tasks, and have started investigating the requirements for the backend implementation. The stake pool tooling will also support a fully command-line interface for scripting.

CARDANO DECENTRALIZATION

Research and Design

This week the team addressed a few issues in the formal and executable specifications for the Byron-Shelley transition, following review. They will be using the Shelley executable specification as the starting point for development, and all that remains is to add the final details and identify any prototype solutions that could be improved.

Development

The completion of the header-body split last week caused some conflicts with concurrent work on ledger integration, so the team spent some time this week resolving those issues. Otherwise, good progress is being made on the final component of the bespoke blockchain storage layer, and small changes have been made to the consensus layer to fully support PBFT, which will follow after OBFT.

GOGUEN

The Plutus team worked on an improvement to currency ordering within the Plutus Playgrounds as well as CSS fixes to improve the display of the blockchain table. They were also busy with updates to the multi-currency paper to reflect changes that were made recently for Plutus.

This week the Marlowe team were working on general improvements in Meadow. Subscriptions for the online Udemy courses for both Marlowe and Plutus are almost at 5000 and continue to grow. The feedback continues to be positive.

The Education team started preparing a comprehensive backlog of items from a requirements gathering exercise across the company. They will fine tune this over the next week and prioritize items to create a plan for delivery over the coming months. Work is continuing on the initial chapters of the Plutus ebook.

ANNOUNCEMENTS

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