Weekly Development Report: June 30, 2023

Source

Fernando Sanchez


Author

Fernando Sanchez


Published at

July 3rd, 2023


Description

Core Technology: This week, the core technology teams continued working on node, networking, consensus, and ledger components. The consensus team working on the Genesis implementation continued to engage with the researchers, which resulted in various simplifications of the correctness argument for the historical Genesis window. They also decided on an approach for a syncing node to decide that it is (no longer) caught up. This functionality was requested by the networking team... Click in to learn more!



 

Weekly development report as of 2023-06-30

 

Author: Fernando Sanchez

 

Core Technology

 

This week, the core technology teams continued working on node, networking, consensus, and ledger components.

The consensus team working on the Genesis implementation continued to engage with the researchers, which resulted in various simplifications of the correctness argument for the historical Genesis window. They also decided on an approach for a syncing node to decide that it is (no longer) caught up. This functionality was requested by the networking team.

The team working on the UTXO-HD implementation ran ad-hoc benchmarks that showed performance issues, which are being investigated. They also merged several improvements required for the first UTXO-HD release, and added a package for easing integration with other downstream components.

Regarding our support activities, we integrated the latest Ledger changes into Consensus in preparation for node 8.2 release.

As always, see this technical development report for more details from different teams.

 

WALLETS AND SERVICES 

 

This week, the Lace teams made progress on a tool to simulate a multi delegation wallet by testing different coin-selection algorithms.

Also, a new cardano-js-sdk has been integrated, and all necessary compatibility changes to support it in the browser have been implemented. They're also working on the creation of new UI components for the multi-delegation flow, and have fixed some bugs related to HD wallet.

Additionally, the team is working on DApp connection improvements, and have also begun integrating Posthog for analytics events.

Finally, they're preparing the next release of Daedalus to support updated voter registration for Catalyst Fund10, and have almost finished a workaround for responsiveness when the Lace browser extension is resized.

The Adrestia team focused on updating cardano-wallet to support node v.8.1.1 and updating GHC to 9.2.8, while also progressing enhancements to the DB layer.

 

SMART CONTRACTS

 

This week, the Plutus Tools team worked mostly on Marconi for sidechain. They fixed a few discrepancies between Marconi’s JSON answers and the specification (PR-79), added some newly requested fields (PR-78), cleaned up the logging (PR-81) and fixed some bugs (PR-76PR-81).

On the plutus-apps side, they continued refactoring to reduce the dependencies of the node-emulator (PR-1091), and reviewed & merged the first external contribution in a few months (PR-1092).

The Plutus Core team worked on finishing off the changes to builtins in the metatheory started last week (a prerequisite for making the builtins machinery of Plutus faster and simpler): PR. They also worked to finish off an optimization speeding up on-chain decoding of variables: PR.

Additionally, they worked on improving accuracy of benchmarks: PR, adding useful constants related to BLS builtins to the standard library of Plutus Tx: PR, resolving issues with continuous integration: PR, and adding BLS builtins to the specification: PR.

The Marlowe teams had a busy week. They added the HTTP SSE server for Marlowe transactions (PLT-6224; PR: #610) and also added starter-kit lesson on CIP-30 (PLT-6336; PR: #21). They also implemented batching of Marlowe transaction responses (PLT-6327; Commits: 1) and a random contract generator for demonstration (PLT-6302; PR: #617).

 

Marlowe Runtime

The Marlowe Runtime team fixed an incompatibility between integration tests and safety checks (PLT-5817; Commits: 123456). Also, tags now allow metadata longer than 64 characters. (PLT-6076; PR: #627).

They also added a Status API to Marlowe Runtime (PLT-5378; PR: #621), created Marlowe Runtime all-in-one executable (PLT-6179; PR: #609), added marlowe-cli analyze functions inside Marlowe Runtime / Web server (PLT-3564; PR: #622), added analysis timeout parameter to marlowe-tx (PLT-6073; Commits: 1), and also added safety report information to Runtime CLI create command (PLT-6072; Commits: 1).

Finally, they integrated safety report information into REST API (PLT-6071; Commits: 1) and added a safety report to Create command (PLT-6070; Commits: 1234)

 

Marlowe Explorer

The Marlowe Explorer team added a skin to transaction detail in Marlowe Explorer (PLT-6159; PR: #49) and also to contract view in Marlowe Explorer (PLT-6156; PR: #47).

They also split the transaction page in two and add skin to transaction index in Marlowe Explorer (PLT-6158 and PLT-6157; PR: #48)

 

BASHO (SCALING)

 

This week, the Hydra team shared progress updates during the monthly review meeting and began experimenting on a preview network with the new commit from external wallet feature.

This week, the Mithril team completed the design of the signer deployment models for the SPOs to run Mithril on their Cardano mainnet infrastructure, and implemented the associated Mithril Relay in the Mithril networks. They kept working on the design and implementation of a simple stress test tool for benchmarking the aggregator. They also worked on implementing a new “tool” command in the aggregator, and its first sub-command that helps avoiding the need for re-genesis of the certificate chain when the structure of the certificate is upgraded. Additionally, they worked on implementing some monitoring for the Mithril infrastructure, and worked on a retry mechanism for the artifacts creation of the aggregator.

Finally, the team fixed a bug related to the computation of the master certificate of an epoch that prevented the aggregator from resuming signing certificates when a re-genesis occurred during an already certified epoch.

 

VOLTAIRE

 

This week in Voltaire, conversations continued on CIP-1694 to establish an initial Minimum Viable Governance (MVG) framework. This framework is crucial for the advancement of participatory governance within the Cardano ecosystem. By collecting feedback from community members, diverse viewpoints can be incorporated to ensure the governance system aligns with the community’s needs and desires. 

The following workshops, hosted this week, yielded some valuable feedback:

  • Williamsburg, New York, U.S. by quantumplation#3141

  • Lagos, Nigeria by Ubiodee#9502

  • London, England by Chris [UPSTR]#5848 (7/1)

  • Sao Paulo, Brazil by Otávio - CardanoFeed.com#5640 (7/1)

  • Virtual by Seo4u#6254

  • Virtual by jerrybnj#9863 (7/1)

Check out workshops happening near you and join the conversations.

CIP-30 and CIP-95 are mechanisms proposed in Cardano Improvement Proposals (CIPs) to empower ada holders with voting capabilities. These proposals, once implemented by wallet providers, will enable community members to express their democratic consent for governance actions.

It's essential for community members to actively participate in providing feedback for CIP-1694 and CIP-95. By voicing opinions and suggestions, you can help shape the future of governance within Cardano. This collaborative approach ensures that the governance mechanisms implemented best represent the community's needs. 

 

CATALYST

 

This week in Project Catalyst, the team presented the voter registration and the community review registration processes at this week’s town hall. Guides to both of these processes can be found in the Catalyst gitbook. Finally, some of the Catalyst projects presented some of the great work they have been doing to impact the community. If you aren’t already make sure to stay tuned and register your attendance for the upcoming town hall.

Moving on to the technical side of Catalyst last week:

  • Pushed registration release of mobile app to apple and android stores; apple in review, android approved

  • Continued adding to release documentation, including backend settings, app store tagline, change log, and release notes

  • Tested hardware wallets for compatibility with most recent changes to registration

  • Finalized documentation for Fund10-supported wallets, including rewards eligibility

  • Started work to add regression tests to the snapshot importer tool

  • Completed initial build for merged snapshot; preparing data for testing

  • Completed first iteration of Snapshot Module (check my voting power) and identified remaining work to be done

  • Added new field to registration endpoint to expose rewards eligibility

  • Discussed approach for updating CIP15/CIP36 to address ambiguity in existing registration/delegation tx needed for GVC; CIP revisions drafted

  • Continued implementing tests for Catalyst Data Services

  • Continued progress on plans to sunset vit-ss post-Fund10, including adding endpoints for backward compatibility to the new service for old clients

  • Delivered enabling work for GVC testing, including methods for extracting Fund9 vote plans (ie historical proposal data) and inserting them into devnet databases

  • Completed initial investigation of tally and recovery tools

  • Initiated work to enable technical users to replay the entire Fund10 voting round on their local machine, using auditable scripts and neatly packaged with earthly

  • Troubleshooting feature branching issues to enable load testing of voting ledger in next dry run

  • Identified test case for next dry run related to restarting leader nodes and impact to tally

  • Completed PoC for admin dashboard that allows users to sign in and view key details across all active and planned funds in the eventDB

  • Beta of continuous delivery was finished and is being tested.

Watch out for more information on how you can participate, which we will share in the coming weeks!

Lastly, if you’re trying to stay up to date with everything happening in Project Catalyst, join the Catalyst Telegram announcement channel. Check it out here.

 

EDUCATION

 

This week, the Education team began planning the next Cardano Days event at the ITESO University of Guadalajara. They also worked with some internal tribes to discuss developer needs and tools, and wrapped up the Plutus Pioneer Playbook.

 

For more information please visit essential Cardano!