Status Updates

July, 2020

Jump to

July 31, 2020

ADRESTIA

This week the team launched a feature-complete wallet with Daedalus integration and released the Graphql and Rest APIs (both read and write functions).

Also, they confirmed that 10 of the 15 top exchanges are currently integrating with the Adrestia toolset. The team expects that most exchanges will have migrated before the end of the week.

NETWORKING

This week the team made progress on DeltaQ integration with block fetch applications. They also merged the tip-sample protocol and made progress on its data-application functionality for the peer-to-peer governor, and choosing which warm peer to promote to a hot one.

DEVOPS

The team worked on the Shelley hard fork on testnet and mainnet.

CARDANO DECENTRALIZATION

This week the team worked with tests to remove questionable aliases. They also audited and updated the formal specification to remove redundant maps, checked the code to reveal performance problems, and changed the reward pot overflow to go to reserves instead of the treasury. A failure in the property test was tracked and fixed.

Finally, the team worked on mc3 and added the tracking feature to monitor the hard fork process. They measured the Shelley ledger and successfully tested lowering the d parameter for the hard fork release.

GOGUEN

This week the team worked on structured logging and fixed the token show instance to respect HEX encoding and Unicode. They also learned how to use the Sphinx site for the tutorial in the Plutus Playground.

The Marlowe team improved the execution of Marlowe contracts. Finally, the Goguen and Marlowe teams were involved in defining documentation requirements for the next release with the technical writing team to scope and prioritize documentation deliverables.

July 24, 2020

DAEDALUS

This week the team worked on the Daedalus 1.4.0-ST3 release, which now includes Byron-to-Shelley transition with screens showing “Countdown” and “Info” details. The team also continued implementing automated update features.

ADRESTIA

This week, the team spent a great deal of time working on the integration of the hardfork combinator into the wallet.

While that work is ongoing, the team also worked on final integration testing for Graphql TX submission, and are waiting for the node for Graphql read.

Finally, they worked on the REST read API, which was pinned to the latest node, and also completed the REST tx-submission API, which still needs to be updated to the latest node.

NETWORKING

This week the team made improvements to decoder error messages, which now show protocol name (including block or transaction type) and current protocol state. This will simplify the debugging process in case of misconfiguration. Also, the team made progress on DeltaQ measurements, the tip-sample protocol’s application, and relative block-fetch dynamic configurations.

DEVOPS

This week the team updated a faucet for the hard fork combinator and made improvements to cardanolib-py to register stake pools. They also supported mainnet candidate releases and the release of node version 1.17.0.

CARDANO DECENTRALIZATION

This week the team tested hard fork sanity (#2386), merged Byron and Shelley in the HFC (#2407), generalized the db-converter (#2369), and finally, validated Shelley genesis configuration (#2423).

GOGUEN

This week the Plutus team added a server-side endpoint for generating ACTUS contracts from contract terms in the Plutus Playground. They also completed some refactoring work on the addTxToPool and addBlocks functions.

Additionally, the team added a new tutorial for writing basic validator scripts as well as a basic forging policy tutorial. A grammar and writing style review was also carried out on the entire suite of Plutus tutorials. Finally, they worked on the multicurrency paper.

The Marlowe team made improvements that simplified the scale implementation. They also changed the Marlowe term to include the end position which means that there is much greater flexibility for refactoring and replacing code.

July 17, 2020

DAEDALUS

This week the team worked on the Daedalus 1.3.0-ST2 release, adding enhanced stake pool functionality with an improved ranking system. This release re-introduces support for Byron wallets, which facilitates the migration of funds from Byron wallets to Shelley wallets, since Byron wallets do not support the delegation feature. The team also added functionality to display stake pool information. The transaction details screen now shows reward addresses. Finally, the team made additional improvements to the UX/UI functionality.

NETWORKING

This week the team investigated block propagation problems on the Shelley testnet. The team made block-fetch related parameters configurable, and also worked on the tip-sample protocol and its application. Decoder error reporting was improved to include the protocol name and protocol state. It is now easier to debug codec misconfigurations. This week the team also worked on presentations from the Cardano virtual summit 2020 and published a blog post about the path to decentralization which can be found here.

DEVOPS

This week the team developed the local hard-fork test cluster, made improvements to the SMASH CI server, and updated the faucet to support version 1.15 of the node.

CARDANO DECENTRALIZATION

This week the team added assertions into an STS framework for Shelley, which will enable testing to find any problems. The team also added the means for block reapplication to optimize the consensus layer speed, conducted testing procedures, and worked on fixing hash issues.

GOGUEN

This week the Plutus team expanded the contracts suite to include an option contract. They also worked on the validation of the integer cost model and refactored test cases for the Actus integration. Finally, the team fixed issues that occurred in the bottom panels of the Plutus Playground.

The Marlowe team made improvements to the user experience by adding more help function features within the Marlowe editor, and also introduced improvements and clarifications in contract execution. Finally, the team addressed feedback from the ISOLA 2020 paper reviews.

July 10, 2020

DAEDALUS

This week the team implemented stake pool ordering based on the delegated amount. The team also integrated support for Trezor hardware wallet and an automatic application update mechanism.

NETWORKING

This week the team worked on the TipSample protocol, which will be used to sample the remote node’s tip of the chain. This information will provide long-term insights about which peers are worth being promoted from warm to hot states. The team also made progress testing DeltaQ computations used by the block-fetch protocol.

DEVOPS

This week the team tested the hard fork combinator and made faucet improvements to support captcha. They also updated local cluster scripts to support the node version 1.15.

CARDANO DECENTRALIZATION

This week the team worked on bug resolutions (#1281 and #1312). The team has now added all the property tests to find possible bugs.

Also, the team constructed a relational algebra code to replace the relation type class, which will provide a greater performance boost. It is a work in progress, but major challenges have been worked out, which enabled the team to start the integration process.

GOGUEN

This week the Plutus team worked on JSON updates: in the smart contract backend (SCB), the test JSON file was expanded to include more kinds of events to decode. On the front end, the JsonMap was updated to successfully decode null as an empty map, and some encoding errors were fixed. Finally, the team added copy-to-clipboard support for the long blockchain IDs to make it easier to copy the full version.

This week the Plutus team made improvements to the Events page in the smart contract backend (SCB). They made improvements to the management of contract instances and reduced the Plutus Playground instance size. Finally, the team updated the GHC package that is in use for Haddock.

The Marlowe team began working on the addition of a new wallet simulation tab in the Marlowe Playground. This tab will enable users to understand what features a wallet needs to be able to run Marlowe contracts and how a contract behaves in relation to multiple wallets.

The team also added a mechanism to send code from the Haskell Editor to Blockly and updated the color scheme used in Blockly.

July 3, 2020

DAEDALUS

This week the team successfully delivered the Daedalus Balance Check version that was deployed on Shelley Testnet. The team is now working on the next Daedalus Shelley Testnet release, which will include delegation features. The UI for the ITN rewards redemption feature is ready for API integration.

ADRESTIA

This week the team resolved some bugs found during their internal testing. They concentrated their efforts on resolving any discrepancies between cardano-node and Jörmungandr, which is a challenging task to ensure no breaking changes occur in the process.

NETWORKING

This week the networking team made progress with DeltaQ measurements and improved peer-selection DNS lookups by backporting fixes that were uncovered by the subscription manager. Also, they improved the interface of MonadAsync by adding a Concurrently combinator, which provides an API to access Haskell's concurrency. And finally, the team worked on enhancing some tests and made progress in reviewing the network design document.

DEVOPS

This week, the team worked on automated testing of update proposals, and continued working on the building and testing of cardano-graphql and cardano-db-sync, in preparation for an upcoming release.

The team also made improvements to the Faucet to ensure that Byron and Shelley use the same code (simple flag at runtime). Some improvements were also made to limiting faucet rate. Finally, the team worked on the automation of relays in topologies from on-chain data.

CARDANO DECENTRALIZATION

This week the team fixed some more problems related to KES keys on the testnet. These fixes ensure that the node should not crash because the KES key could not be updated or evolved. Instead, it will always result in a CannotLead trace message (#2299, #2300, #2306). The team also switched to the real VRF implementation (#2297). The team also fixed a bug found by a property test (#2310, #2312) in forecasting across the hard fork boundary. They also worked on overriding the initial nonce used by the Shelley era (#2005, #2289).

GOGUEN

This week the Plutus team worked on JSON updates: in the smart contract backend (SCB), the test JSON file was expanded to include more kinds of events to decode. On the front end, the JsonMap was updated to successfully decode null as an empty map, and some encoding errors were fixed. Finally, the team added copy-to-clipboard support for the long blockchain IDs to make it easier to copy the full version.

The Marlowe team also fixed a deprecation warning with Marlowe's use of websockets. They also made improvements to the scrolling capability in Blockly, and added an enhancement that assigns an error message if you try to send Blockly code to a simulation that has already started.