Status Update

October 18, 2019

Status Updates (October, 2019) > October 18, 2019

WEEKLY DEVELOPMENT REPORT

DAEDALUS

Cardano Wallet

This week the team finished Daedalus newsfeed infrastructure setup. This was the last step in the preparation of the upcoming Cardano 1.7.0 release, which includes Daedalus 0.15.0 and Cardano SL 3.1.0.

Work continued on the desktop installers for the Jörmungandr testnet, with further progress now dependent on the cross-compilation of the wallet service. The team created a nix-free way to launch Daedalus in a frontend-only mode.

A note has been added to the 'Wallet UTxO Distribution' screen. This informs the user that pending transactions may affect the accuracy of the data presented on the UTxO distribution chart. The note also displays the number of pending transactions a user has in his wallet.

The 'Delete Wallet' option shown on the 'Wallet Settings' screen has been redesigned to fit better with the newly added 'Wallet Recovery Phrase' section. The 'Delete Wallet' link has been replaced by a 'Delete Wallet' section, which provides more information on this option and highlights the importance of knowing a wallet's 12-word recovery phrase before it is deleted.

In the scope of regular maintenance tasks, the team worked on fixing minor styling issues on the Cardano theme and optimization of the flat button colors. The react-polymorph 'Dropdown' component has been optimized to better fit the requirements and usage-patterns of the Daedalus UI.

App Platform

No update this week as the team has been focused on the Cardano Wallet and Cardano Explorer development.

Cardano Explorer

This week the team finished the implementation of the design for the 'Transaction Details' and 'Stake Pools List' pages. This is an important milestone as now all the key UI elements have been completed for implementation within the Jörmungandr Explorer App, with the initial version to be derived from the example application contained within the js-chain-libs repository. This makes full use of the GraphQL API exposed by Jörmungandr and will serve as a baseline to continue development in parallel with the Byron Mainnet explorer.

WALLET BACKEND

It has been an intensive week for the wallet backend team. The team's efforts in testing rollbacks and chain-following have finally paid off. While part of the team was busy with making sure the wallet worked in a decentralized setup - where nodes may switch to different chains arbitrarily - another part has focused on getting data about stake pools stored in a database and served through an HTTP interface. This will enable frontend clients like Daedalus to give insights about available stake pools and how they perform.

We are also continuing our efforts to introduce a backward-compatible API to effectively allow current users of Daedalus to migrate their wallet into the new format now supported by the backend (the same one used by Yoroi).

NETWORKING

Last week, the network team started exploring the Windows overlapped IO API to get reliable support of IO on Windows. The team also integrated the latest space-leak fixes and performance tweaks in the block-fetch protocol into the cardano-node repository, and provided an ARM how-to: useful for people who would like to build and run a cardano-node on RockPi. Lastly, the team started polishing error policies, which are important for making the node - and clients - production-ready.  

On the P2P front, the team worked on network topography generators and are looking into interactive plotting solutions for Haskell. Part of the team also met at a major Haskell conference. IOHK had a solid presence, IOHK colleagues presented five (four by the networking team, the other related to IOHK's work on P2P) highly valued talks, which can be found online:

 - IOHK's session-type framework

 - State machines and categories

 - Talk on probability monad, which was used as a reference for simple network topologies in the team's work on P2P

DEVOPS

DevOps has been working hard on getting installers working for Daedalus that integrate with the Cardano wallet and Jörmungandr. The DevOps team has also been refactoring deployments for Jörmungandr and Cardano, to make it easier to deploy production clusters.

CARDANO DECENTRALIZATION

The team updated the spec with a new mechanism for bringing the rewards from the incentivized testnet onto mainnet. The team have also completed writing more generators, and are close to having the ones needed for the ledger/transaction level. However, there's still work to be done to get to the top chain level, where the team is generating block headers, etc. The team also added more high-level properties to the plan and made progress on the Byron-annotated serialization. They are now down to fixing a few test failures.

GOGUEN

Last week, the Plutus team made improvements to logging and error handling in contracts, where they added an error constructor to deal with errors that happen during contract execution.

The team also updated the currency contract and improved the pubkey contract, and made changes that enforce the correct type for the ValidatorScript.

The Marlowe team made further updates to the Marlowe tutorial, to highlight the differences with previous versions. They are also preparing for the new version of the Udemy course for publication very soon.