Status Update

March 15, 2019

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

Weekly Development Report

DAEDALUS

Wallet

This week the team fixed a data loading issue which sometimes caused Daedalus not to show all wallet transactions if a user had put their machine into sleep mode, or if the Cardano node had been manually restarted.

The team is almost done with implementing status icons on the connecting/loading screen which will provide more information to users about the status of the connection, improving the overall user experience. The code for this is in the final review and testing phase.

In the scope of regular maintenance tasks, the team updated the 'Support' screen text, which was outdated after the removal of the in-app support request feature. Also, a minor defect which caused 'Staging' and 'Testnet' Daedalus instances to create an empty 'Daedalus' state directory has been fixed.

App Platform

This week the team started working on a client-side smart contract execution example and a server-side WASM execution engine with an adaptor. The production modules are being developed using the proof of concept as a reference and source. These modules are being grouped under the 'smart contract' namespace.

BACKEND OPTIMIZATION

The team has started work on a new wallet backend implementation based on the wallet specification, which will eventually become the backend for Cardano, with support for delegation and the ability to communicate with both Rust and Haskell nodes. To begin with, the engineers have set up a new repository with a wholly revised continuous integration server.

The team has also begun using a new development process, embracing an agile method known as extreme programming, which emphasizes short iteration cycles with frequent releases.

The first work on the new wallet backend involves rebuilding essential wallet functions without dependencies on legacy code and taking the opportunity to make testing a high-priority part of the development process.

NETWORKING

Last week the networking team the finished tx-submission protocol. This is a significant milestone, marking the completion of all mini-protocol implementation and testing. Work has also resumed on writing block-fetch logic, which is responsible for fetching block bodies whose headers have been announced from a set of available peers. The team has also been working on version negotiation and exception handling in the low-level multiplexing layer. Engineers also helped out with work on iohk-monitoring-framework and managing an immutable DB from the consensus layer.

DEVOPS

Continuous Integration

The team completed work on integrating nix-tools for cardano-chain and iohk-monitoring-framework, and work continued on integrating nix-tools with the remaining new repositories cardano-shell and plutus.

Smart Contracts

The team continued review and documentation of IELE integration with iohk-ops.

Cardano 1.5 Release

The team worked with QA and the release manager on various release activities. The public testnet was deployed, along with an updated proposal for the community to start testing the Cardano 1.5 release. Testnet installers can be found on the testnet page: https://testnet.iohkdev.io/cardano/get-started/testnet-wallet/

CARDANO DECENTRALIZATION

Research and Design

The team made good progress on the chain level specification for Shelley this week. We now have both a Haskell and a C reference implementation for the non-integral calculations in Shelley, with documentation, tests, and performance metrics. This is a subtle point that needed special care: had we resorted to standard floating point calculations, we would have risked forks due to small differences between different platforms, languages, or compilers. To prevent that, we are planning to use fixed-point arithmetic.

Development

A proof-of-concept integration between the network layer and cardano-chain has been started, which will provide blocks to the wallet from the network/chain layer. Progress has also been made on various aspects of the storage layer for Shelley, and on integration.

GOGUEN

This week the Plutus team continued to work on several security improvements as well as updates to the signature implementation code. Some members of the team were planning for the Plutus training next week in Ethiopia. The Marlowe team are busy working on the design for Meadow in the cloud, as well as updates to new Marlowe semantics. In addition, Actus use cases are being reviewed and integrated into Marlowe.

Work has started on the content creation for the Marlowe educational materials and plans are being confirmed for the Plutus training courses this week.

ANNOUNCEMENTS

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