Status Update

September 27, 2019

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

WEEKLY DEVELOPMENT REPORT

DAEDALUS

Cardano Wallet

This week the team met up and had a workshop together in Croatia. There were lots of productive discussions and presentations, which were aimed at improving the team’s development process and ultimately making Daedalus a better product. The most important outcome of this workshop was the successful implementation of a brand new feature: ‘Newsfeed’. This feature introduces a new communication channel through which Daedalus users will get important Daedalus and Cardano-related updates. The new feature will be included in the upcoming Cardano 1.7.0 release.

App Platform

This week the team developed PostgreSQL views in coordination with the Haskell team to improve the interface of the Cardano Postgres database. This unlocks the primary data source for Cardano GraphQL, which is being accessed via Hasura to handle runtime GraphQL to PostgreSQL query compilation and results mapping. Work was also done this week on a TypeScript HTTP Cardano node client, with the goal of developing a chain projector service for the platform. The design considers translation of the chain data a separate module for flexibility and ease of implementation, with chain subscription and rollbacks handled by a common component. Finally, a service to fetch and cache off-chain stake pool metadata was designed and mostly implemented within Cardano GraphQL. API consumers will get the benefit of a merged data source over a single query.

Cardano Explorer

This week the team continued working on the implementation of the new Cardano Explorer UI. The ‘Home’ page design implementation has been completed, and the team has continued working on the rest of the pages. In addition to that, the feature specification was refined and the beginnings of a Cucumber test suite drawn up.

WALLET BACKEND

Wallet After the restructuring of database schema during the previous weeks, the team has now focused on adjusting the internal implementation of the database layer so that multiple wallet checkpoints are stored as the chain is followed. Work has now begun on the final step: allowing arbitrary rollbacks to previous checkpoints.  On the side, work continues to improve testing, following the Jörmungandr releases closely and integrating them as they are published. Work is being done to refactor several parts of the code to improve reliability and simplify the manipulation of some data-structures.

NETWORKING

The networking team has been focused on documenting their designs this week.  Work to finish the implementation of the Byron Proxy is also progressing, with the team spending time finding and making various performance optimizations. Performance still isn’t quite up to scratch, however, and the team is working with QA on testing to find more places to improve.  Finally, the CDDL tests are being improved with a CBOR codec specification for mini-protocols.

DEVOPS

There is no update this week.

CARDANO DECENTRALIZATION

The new transaction generator now integrates with the new explorer, which has helped the team to analyze the correctness of produced blocks. Phase two of transaction generation has also been completed, after an initial merge into the master branch of cardano-node. The code is now refactored. The team has obtained its first results, which will now drive the implementation of the analytical pipeline and the preparation of a distributed benchmark.

GOGUEN

The Plutus team made improvements to the Plutus tutorial this week, as well as improving the handling of logging and errors within contracts. Work also started on an effort to restrict data scripts to contain only data specified by a simple fixed type. The main advantage of this is that the contents of the outgoing data scripts from a transaction could be embedded directly in the PendingTx structure, and provide a clean and straightforward solution to the problem of validating the outgoing data scripts. The team also worked on removing the eighty character line in the Plutus Playground editor as well as its print marker.  The Marlowe team finished the remaining updates to the new versions of the tutorial, including a Blockly tutorial, and also made preparations for the new version launch next week in Sofia. In conjunction with the education team, they created new recordings and content for the updated version of the Udemy course.  Finally, the new edition of the Plutus ebook is being prepared and new versions will be uploaded to the publishing portals next week.