Status Update

November 29, 2019

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

WEEKLY DEVELOPMENT REPORT

Daedalus

Wallet

This week the team was fully focused on the delivery of the rewards wallet version of Daedalus for the Incentivized Testnet. The team has been working on integration of the API endpoints, which are required for the delegation features, as well as updating the wallet UI to reflect the new functionality.

App Platform

There is no update this week, as the team was busy with the delivery of the rewards wallet version of Daedalus for the Incentivized Testnet.

Cardano Explorer

A block and epoch browser was created this week, enabling users to explore the blockchain starting from the tip, although it is compatible with providing a range of results via URL parameters. Navigation between the detail pages was completed, and various UX tweaks made to polish transitions and address issues raised during QA. The address introspection was improved to discriminate between address groups, and the application search logic refactored to better detect addresses, as well as simplify the API interaction to a single call when searching by ID. Finally, a performance issue with a particular query field was identified, and a fix implemented.

Wallet backend

This week the team spent some time fixing a few small bugs that escaped testing and internal QA as a result of the intense pace of work over the past few weeks. Now those are dealt with, the team is back on a more stable track for the final implementation of the remaining delegation features. The team is also aiming to improve the overall monitoring and usability of the software to make future debugging and support easier. Next week should see all the pieces finally fit together, giving birth to a new era of delegation and decentralization!

Networking

This week the team was focused on preparations for the 1.0.0 release of the Haskell node, which included merging error policies for the node and clients, as well as updating the cardano-node, cardano-byron-proxy, and cardano-explorer repositories. The hard work of the team also meant that they were able to include the DeltaQ estimator with tracing into the 1.0.0 release, and are working on reviewing and updating the documentation accordingly.

Elsewhere, the team has been making progress with the peer-to-peer governor, successfully running the first property-based tests. Two refactoring pull requests have also been prepared: the first to simplify version negotiation in the network-mux library, and the second to include timeouts and message size limits in the typed-protocol's driver.

DevOps

The team has made a lot of progress on the Byron rewrite side this week and will begin testing full cluster transition to the new codebase soon, using cardano-ops as the new deployment repository. Switching between iohk-ops and cardano-ops has been tested extensively, and the DevOps team will begin updating staging, testnet, and mainnet to the new codebase in the coming weeks.

Cardano Decentralization

The team has been very busy for the last few weeks, managing to rewrite the on-disk database format and get it finished in time for the 1.0.0 release (avoiding the need for a post-release migration), thanks to the extensive property tests that were already in place. The new format allows for faster validation by storing CRC32 checksums of blocks, faster reading of headers, which no longer requires parsing of the whole block, and more efficient streaming of blocks and headers straight from disk to the network without intermediary deserialization and serialization. Finally, a number of operations that required reading a whole block will now only need to read a handful of bytes instead.

Also this week, the team made changes to the transaction-level CBOR serialization, as well as adding a function to the Byron code so that the wallet backend can get updates without receiving the full UTXO. A lot of code was also migrated from Hedgehog to QuickCheck, following the decision to commit to using QuickCheck for all automated testing.

Goguen

This week the Plutus team made further updates to the multicurrency paper and started a restructuring initiative for the emulator to house elements in their own modules. They also updated the multisignature contract to use the new contracts API and added the capability to customize the signing process, as well as fixing an issue the Plutus Playground decoding. More generally, good progress is being made on integrating Plutus into the Cardano ledger rules thanks to cross-team collaboration efforts.

The Marlowe team fixed some issues that were appearing in the Marlowe Playground, including a problem with parsing of static analysis results for some outputs, and an anomaly where the amount of ada was not being updated correctly in the deposit suggestion.