June 12, 2020
Status Updates (June, 2020) > June 12, 2020
WEEKLY DEVELOPMENT REPORT
There is no update from the team this week.
There is no update from the team this week.
This week the team finalized the Shelley "basic" transaction layer (UTXO payments) and performed extensive testing of it. During this process, the team discovered that "genesis stake pools" are not a feature of Jörmungandr. Leaders registered in the genesis file are not pools, they are BFT leaders. Because of this, most of the integration testing so far has happened on BFT Shelley leaders only. Setting up pools for integration testing will involve a lot of additional work.
The team also did preparation work for setting up the test integration to get a cluster of stake pools running. A lot was achieved, but pools need to be registered and have funds delegated to them, which means that three separate certificates must be created, and there must also be funds available for the transactions.
During this week, the team created the initial implementation of delegation in Shelley, although this implementation cannot be tested properly until work on the test cluster is completed.
The team cleaned up protocol parameters, and the decentralization level (d parameter) now reports from live data (this parameter had been hardwired up to this point.) But now, the d parameter is properly fetched from a running local node, using a local state query protocol.
This week, the team improved the wallet integration to work with cardano-node-1.13.1, and worked on several fixes too: #1701, for example, where existing Shelley wallets would wrongly report as having no passphrase. A missing database migration was the cause, which has now been resolved. Also, the team improved Hydra evaluation time by about 30%, making CI a bit easier.
The team enabled restoration from extended account public key on Byron sequential wallets (Icarus), to enable testing hardware wallet integration on Byron during the development of Shelley hardware applications.
Finally, the team approached the limits of Travis' free tier, which meant that some releases had to be postponed. The team is working on finding a feasible and budget-friendly solution to compile multiple versions of cardano-wallet (Jörmungandr, Byron, and Shelley) going forward.
This week, the networking team finished implementing a KeepAlive mini-protocol. Sending a 'keep alive' message is required by various deployment scenarios to keep network connections open. The team used the design of another warm peer protocol that allows to sample chain tips. They also merged extended tests of a bi-directional, on-demand multiplexer, and made progress in reviewing existing documentation.
This week the team supported the Shelley Public Testnet by adding and testing new features. The faucet was given new features and enhanced functionality, for example, and the team worked on Rust cross-compilation to Windows with nix.
During this week, the team tested MIR certificates and ITN stake key conversion and registration features. And finally, the team upgraded repos to build with nixos 20.03, and finalized cardano-graphql hasura update changes.
The implementation of the Byron-to-Shelley hard fork is nearing completion, so thorough testing will commence soon.
This week the team worked on bug fixes to the nixified benchmarking pipeline and added a set of new metrics relevant for benchmarking and stake pool operators to TUI and RTview. An anomaly in the benchmarking in component "cardano-db-sync" was analysed and reported to the dev team, and the team made a slight change to how chain selection works: forks will now be resolved in favour of the block issuer with the lower leader value, which should slightly reduce the likelihood of long forks.
This week the Plutus team fixed some problems in the plutus-scb (smart contract backend); an issue with the chain index startup sequence, and a general Haddock issue. The team also made some updates to use special QuickCheck operators, which resulted in better error messages. Other updates were made that increased the Plutus Playground load balancer timeout, and some simplifications were made to the FormSchema for contracts.
The Marlowe team investigated how to write assertions in Marlowe contracts, so that they can be checked through static analysis.