March 6, 2020
Status Updates (March, 2020) > March 6, 2020
WEEKLY DEVELOPMENT REPORT
This week, the team completed work on the Shelley features test coverage. All of the features are now covered by automated tests, which was required to start work on the Haskell node integration. The team also continued the work on updating third-party packages in Daedalus.
The team is still working on the implementation of the new Cardano Launcher.
The QA team is finishing working on fixing the issues identified during the QA testing phase, in preparation for the upcoming Cardano Explorer Byron release.
This week, the wallet backend team continued working on the new cardano-launcher as well as a testing setup for cardano-node. The team also took time to upgrade quite a few dependencies, libraries, and standards used across many components of cardano-wallet.
Meanwhile, the wallet command-line now provides tools for manipulating wallet credentials and operations, such as mnemonic-to-root-private-key generation and parent-to-child-key derivation. This is particularly handy for DevOps as well as pool operators who need to actively manage their credentials. A few issues regarding Windows are also under investigation.
The networking team is continuing to work alongside other teams towards the release of Shelley, identifying ways to improve network performance and reliability.
The DevOps team has been working on perf-ops. This allows the testing of multiple copies of any NixOS service in bulk, which subsequently allows the simulation of Daedalus clients. The team has tested thousands of nodes against both the Jörmungandr and cardano-node. Additionally, the team has been packaging docker containers for the cardano-node, cardano-db-sync, and cardano-rest, which are all part of the Byron stack needed to run a custom explorer.
Significant improvements were made to the test data generators this week. These include using real VRF leader values instead of always inserting zero, real transaction fee generation instead of zero, improved UTXO entries in the transactions, multiple delegation certificates in transactions, and the ability to generate more non-zero rewards on the epoch boundary.
Meanwhile, the team now has the wire format it wants for transaction witness sets (which will work well when Plutus scripts are added) and the CDDL tests (though CI integration of those tests is still pending). The tests generate data from the CDDL file and check the deserialization in Haskell. This is then serialized from Haskell and checked against the CDDL.
Numerous smaller improvements were also made, including making the protocol version two numbers instead of three and allowing UTF-8 instead of ASCII.
Lastly, the team began sketching out what it would look like to have the ledger do all the non-myopic reward calculations. Even though these calculations are only needed by the wallet, it seems simpler to have the ledger calculate them directly. A few decisions still need to be made before the team can continue, such as whether it wants a moving average, or just, for example, the last few values.
This week, the team implemented the parser generator for parsing contracts, which increased response times. They also started work on a testing branch for the smart contract backend and updated the extended UTXO document to include information about the partial order of finitely-supported functions.
Meanwhile, the Marlowe team worked on separating out the Marlowe editor errors and warnings.