Status Update

September 6, 2019

Status Updates (September, 2019) > September 6, 2019

Weekly Development Report

DAEDALUS

Wallet

This week the team has focused on integration of the V2 API, which will enable the transition to Shelley features. The separation of legacy and new-schema wallet UI and data handling has been finished, and API request error handling has also been updated to support new V2 API error outputs. Work has also started on modifying the automated test suite so that it can run against the V2 API.

Elsewhere, the new internet connection status detection feature has been implemented and is in the final review and testing stage.

In the scope of regular maintenance tasks, the team is working on reorganizing UI components in Storybook to better match the structure of the Daedalus UI.

App Platform

This week the team set up Cardano GraphQL as a development dependency in the Cardano Explorer App repository, enabling frontend development to commence in parallel. A Docker build job was also added to the Cardano GraphQL continuous integration pipeline, and a dev start script written to ensure parity with the stable develop branch and to generate TypeScript definition from the exposed server on startup.

Work began on support for more expressive queries this week, which will allow the use of multiple logical operators, and a GraphQL to PostgreSQL compiler has been introduced to handle the resulting added complexity. With this new approach a more precise database query is possible, with only exact data being returned to the API server and natural handling of the operators. Query validation has also been implemented which enforces pagination for large result sets, and a depth limitation added to reduce the attack surface of tree-like models.

Finally, a feature was developed for the smart contract backend which will transpile the typed runtime interface from a Plutus contract running as an HTTP service. This feature addresses a current process limitation that relies on pre-compiled bundles and will be useful in other contexts as well. While working on this new feature, the team identified a simplification that can be made to the loading process, and they will be working on it next week.

Cardano Explorer

This week the Daedalus team began work on creating a new Cardano Explorer! After an extensive assessment of the existing Cardano Explorer functionality, website, and code base, it was decided that a new and improved version should be created so that users can more easily browse the history of the Cardano blockchain.

The team is currently working on the ‘Home’ page, which is the most complex of the new designs. They expect to be done with work on it next week.

Backend Optimization

There is no update this week.

Networking

The team has made progress on a number of items this week, including a document that formally describes the design decisions that were made while developing the network stack for the Shelley era, a high-throughput transaction submission engine for benchmarking purposes, and a named socket API for Windows.

Work has also progressed on the chain-sync client, with pull requests prepared which will implement pipelining. Once pipelining is in place, the Shelley node will be able to make optimal use of network availability, further improving node syncing times.

Finally, the team has been profiling the Shelley node to identify key usage metrics, as well as testing various aspects of the Byron-Shelley proxy.

Devops

There is no update this week.

Cardano Decentralization

This week the team worked on developing the transaction generator, which is now able to send transactions and will be used for testing purposes. Work is now underway to extend the transaction generator so that it can send transactions for a defined time at a fixed transactions per second (TPS) rate.

Meanwhile, in cardano-node, more tracer transformers have been integrated to support forwarding logs to the logging framework and stop logging directly to the console. Traced items can be annotated with severity and privacy annotations in a declarative way.

Goguen

This week the Plutus team worked on performance enhancements for the abbreviate functionality, as well as some minor front end changes. Changes were also made to the transaction fees to ensure they work correctly for the contract APIs. Members of the team have also been working on papers that will be presented at a conference.

Good progress was made by the Marlowe team on updates to the tutorial for version 3.0 of Marlowe this week.

The education team were busy working on new chapters for the Plutus ebook, as well as making editorial edits to the Plutus Tx chapter. They also added in a Contributing Writers section to acknowledge contributions from other individuals who wrote chapters in the book.

Announcements

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