Status Update

October 4, 2019

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

WEEKLY DEVELOPMENT REPORT

DAEDALUS

Cardano Wallet

This week the team finished the 'Newsfeed' feature which was the final addition for the upcoming Cardano 1.7.0 release.

The team has continued working on the V2 API integration which, will enable Shelley features. Both the transaction fee estimation and the create transaction endpoints are in the code review and testing phase now, while the team is continuing to work on the implementation of the transaction history API endpoint.

App Platform

This week the team has been working on a remodel of parts of the Cardano JavaScript SDK so that they will be compatible with the Shelley era, ensuring that both Jörmungandr and Haskell nodes will be compatible too. The js-chain-libs library will be used to provide the client-side behavior for the smart contract backend, namely the wallet for coin selection, and then the interface for submitting to the network.

In other work, a simplification of the extended UTXO-compatible node client was determined this week and will be specified next week in coordination with the Plutus team. This refinement aims to make the node client more powerful and more generic, keeping the state and logic relating to triggering Plutus contracts contained within a single service. Its primary behavior will be a publishing service to enable WebSocket clients to follow the chain.

Finally, the git-based stake pool metadata service was updated to handle remote synchronization this week, and now awaits implementation within the API layer.

Cardano Explorer

This week the team finished the implementation of the design for the epoch details page and continued working on the address details page, as well as the block info component which will be reused across many pages.

The Cardano GraphQL Hasura implementation was configured to work with the Postgres views developed last week, and performance tuning was done. This enables query delegation from the public-facing API after a query is deemed acceptable and passes the validation rules. The views will be transferred to the Cardano Explorer database definition after the work is finalized.

NETWORKING

This week the networking team implemented interruptible foreign function interface (FFI) calls for the Windows named pipes API.  Early tests are promising. The team also added support for mixed IPv4/6 addresses and tested it on a small network, in which some of the nodes were running on RockPi machines. There was also a bug fix in cardano-sl subscription management as well as improved performance of the cardano-byron-proxy.

The team was also working on propagating chain sync changes this week, which provide a significant performance boost, especially when syncing a new node and downloading the whole blockchain. Work is continuing on cardano-node benchmarks, and the team has started working on one of the final peer-to-peer components required for decentralization.

DEVOPS

This week the team was busy updating the Snappy and Nix scripts for the Jörmungandr testnet. A Prometheus exporter for Jörmungandr has also been created to get metrics for a stake pool. Finally, the team has worked on the Chocolatey package for Jörmungandr 0.5.5, which is now available.

CARDANO DECENTRALIZATION

This week the team worked on restructuring the codebase, and most backends are now implemented in their own libraries, which will help projects that integrate this framework to manage dependencies. The project's dependency list will only grow along with active backends included. The team has also started to implement a benchmark for chain syncing that could be turned into a nightly continuous integration job.

The transaction generator is now complete, and the team has started to obtain results from benchmarks that now need to be extended to a distributed system benchmark.

GOGUEN

This week the Plutus team made improvements to the API for payment selection. This improvement gives users an easy way to write contract code where the value spent is specified in several iterations, giving more control over the inputs that are used by the wallet (for example, to cover fees). The team also updated the documentation for the ledger interval module.

The team also worked on blockchain visualization changes in the Plutus Playground, including the display of brought forward balances in a table so that users can click on inputs and outputs to jump to their related transactions. Other improvements included some general tidying up of on-screen elements as well as the removal of redundant code.

The Marlowe team presented the new version of Marlowe (version 3.0), at the Cardano anniversary event in Bulgaria last weekend. They also demonstrated the Marlowe Playground and its associated tutorial. They are also preparing the new version of the Udemy course for publication soon.