Status Update

November 1, 2019

Status Updates (November, 2019) > November 1, 2019

WEEKLY DEVELOPMENT REPORT

DAEDALUS

Cardano Wallet

This week the team implemented a new theme for the Incentivized Testnet Daedalus version, which will make it easy for users to distinguish between mainnet and testnet versions of Daedalus at a glance. Work also progressed on the UI changes required for the same release, which include:

  • Enabling restoration of wallets with both 12-word and 15-word recovery phrases
  • Making a spending password mandatory
  • Implementing address validation changes
  • Updating the 'Rewards' screen
  • Removing 'Decentralization countdown', 'Decentralization info' and 'Staking epochs' screens

Finally, the newsfeed feature was extended by adding support for opening in-app screens or triggering internal actions such as downloading the logs from the newsfeed items.

Application Platform

The team was focused on helping out with work on the new Cardano Explorer this week, so there are no updates for the application platform.

Cardano Explorer

This week the team upgraded the schema and query validation within Cardano GraphQL to remove specific validation checks, and instead use Hasura to enforce row limits to protect the PostgreSQL database from abuse. The backend services were also load tested and compared with the benchmark and performance improvements listed for future optimization. Application caching was also added, driven by the slot duration of the network.

The explorer now has the concept of a Cardano era and network type, making it possible to target versions for different use-cases. Client-side application state and data fetching are currently being implemented.

WALLET BACKEND

Wallet

This week the team focused on cleaning up and preparing for the upcoming release. Work is progressing on cross-compiling the wallet backend to different platforms, and both Linux and OSX are now supported. Windows cross-compilation is still underway and should be completed soon.

Meanwhile, the team has also worked on a new coin selection algorithm to allow efficiently moving coins from a wallet to another (in particular, from a Byron wallet) while keeping an adequate UTXO distribution and taking care of possible dust coins.

NETWORKING

This week the team has been progressing with the design of the peer-to-peer selection mechanism. A Jupyter Notebook was also configured, which is used for peer-to-peer graph simulations. 

Elsewhere, the team updated the Byron proxy so that it can handle new transactions. The network magic number is now read from genesis configuration, and this change has been implemented across various components (the Byron proxy, Cardano node, and Cardano explorer). 

Finally, work continues on asynchronous I/O for Windows (using completion ports).

DEVOPS

There are no updates this week.

CARDANO DECENTRALIZATION

This week the transaction generator was extended to generate transactions with a payload, which simulates Plutus script submissions to the blockchain. The generator can also accept multiple inputs for generating transactions now. Moreover, the new node now reports 'chain density' as a quality metric for the last k blocks. New metrics are displayed in the LiveView of the node and exported via EKG to Prometheus for further monitoring.

Testing of the launcher and update mechanism with QA resumed this week.

GOGUEN

This week the Plutus team made updates to contracts to generalize the error type and allow users to choose what they want to use there. Minor bug fixes were also made to the Resumable contract and the JSON instance.

The team also started work on an unexpected interpreter error in the Plutus Playground. In addition, they updated cardano-crypto to allow users to install things that have dependencies on it, such as plutus-exe.

Updates were made to handleBlockchainEvents to run repeatedly so that when an endpoint performs multiple actions it can handle all requests together, rather than a single request.

The Marlowe team made some visual and layout refinements to the Marlowe Playground and also applied some OS X fixes.