Status Update

August 23, 2019

Status Updates (August, 2019) > August 23, 2019

Weekly Development Report

DAEDALUS

Wallet

This week the team started the quarterly design implementation review. During this process, the entire Daedalus UI is thoroughly inspected to make sure the implementation is aligned with the original design specifications. The inspection has resulted in a list of tasks which will be addressed next week. The team has continued work on the implementation of the redesigned wallet creation wizard. This process is tightly coupled with the integration of the V2 API endpoints used to create a wallet.

In the scope of regular maintenance tasks, the team has been working on small UI adjustments such as correct pluralization of the number of confirmations shown in the transaction details and improvements to the connection error messages display on the 'Daedalus Diagnostics' screen. They've also been optimizing the newly added 'White' theme.

App Platform

The TCP port management feature for the application platform is almost complete, which will enable integration between services that are dynamically managed. Integration with the smart contract backend is being used to create a natural model and forms part of the default (but overridable) configuration.

In other news, the new approach for Plutus JavaScript runtime validation reached a point of stability, with a proof of concept delivering a first-class TypeScript experience for static checking during development. Tooling is now being developed to generate a bundle for the smart contract backend using this and will be passed to the client for local validation.

Finally, the Cardano GraphQL now implements the DataLoader pattern for batching requests and solves the n+1 problem of field level query resolution. The stack has been dockerized and an integration test written to provide assertions based on queries, tested against a set of real services. This will be the foundation for a load/performance test coming next week.

BACKEND OPTIMIZATION

There is no update this week.

NETWORKING

This week the team worked on verifying that the Byron proxy can relay transactions in all possible scenarios: Byron to Shelley, Shelley to Byron, Shelley to Shelley, and Byron to Byron. Work was also done to improve Byron proxy documentation, as well as enhancing the Byron chain download using a good set of checkpoints.

The team has also been working on testing EBBs with CDDL tests, and have refactored the subscription worker so that it can track peer state and added error policies. This will allow it to classify errors and suspend a consumer or peer for some amount of time.

DEVOPS

This week the DevOps team successfully oversaw the first deployment of the new byron-proxy, cardano-node, and cardano-explorer code to a test cluster. They've also been working on emulating the old explorer API using the new explorer, to ensure complete equivalence between the two.

CARDANO DECENTRALIZATION

The team continued the implementation of the transaction generator this week, and hope to start producing results next week. Additionally, logging code in the node has been rewritten to allow structured logging and support system-level benchmarking.

The ongoing property testing continues to reap rewards, and has turned up several subtle bugs which are extreme edge cases and would have been almost impossible to find in a production environment. Instead, they are being fixed by the team before ever even making it to production.

GOGUEN

This week the Plutus team worked on adding support for multiple modes of execution to the Plutus Core implementation, written in Agda. They also spent time looking at the Playground server tests to improve their speed. In addition, they updated some functions and types in the ledger module of the mockchain from ada to lovelace, for clarity purposes. The Marlowe team have started work on updating the testnet to change instances of Meadow to Marlowe Playground.

The education team made updates to the chapter on state machines in the Plutus ebook to reflect recent code changes.

ANNOUNCEMENTS

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