All validator nodes on the mainnet are currently running release 0.9.25. We will start moving some of the main net validator nodes to the IBM cloud - slowed down due to IBM support issues.
We are upgrading test net to release 0.9.25.1, to start testing.
We are currently testing RNode-0.9.25.1 release on the sandbox. It is close to complete, other than one PR with tests (nutzipper) and a fix for the slashing bug / tuple space mismatch error (Tomislav). We have been testing this on an observer node on the main net for the last few days, will simulate testing on the mainnet exchange node. This release has substantial portions of the Last Finalized State improvements. The main content in this release is DAG Store, BlockStore and LMDB improvements, using the Key Value Store implemented in 0.9.25. Included PRs are listed at https://github.com/rchain/rchain/pulls?q=is%3Apr+milestone%3Av0.9.25.1 This is the second and substantial part of the Last Finalized State milestone.
0.9.25 is a bug fix release, with significant configuration changes, preparatory constructs for last finalized state and many other enhancements (total of 25 PRs): Improvements to RNode Storage (Keyvaluestore in LMDB to be used in future releases by DAG Store and Block Store, as well as to cache transactions and state changes), HTTP Admin API endpoint and by bytesToHex method by Arthur Greef, Ability to visualize DAG from any point, Improved logging and handling of errors in the Web API, Configuration for API server, isFinalized call in the http API etc.
Sequence of updates is testnet to mainnet observers and then main net validators if applicable. Current philosophy is to minimize updates/disruptions to validator nodes while enabling improved observer node functionality.
Sprint 59 in progress
Main Focus: Work towards completing Last Finalized State, identify and address as many slashing issues/bugs as possible, hardening the main net, improve performance. Current PR list at https://github.com/rchain/rchain/pulls
Main difference between testing on Observer nodes vs. Validator nodes: When we test on the observer node, a large part of the code base is executed. The Block creation code runs only on the validator nodes. As a part of that, the portion of the Runtime Manager that plays the deploy is run on the validator node but not on the observer node.
Fix this: We had an issue on the testnet where one block was corrupted at the tuple space level. We are investigating the code as well as devising a method of recovering if something like that happens on the mainnet. Tomislav has put together a proposal to correct and proceed in situations like that.
Protection from 'too much free work' attack, policy to reject deploys when user doesn't provide sufficient phlo or does not have sufficient REV in the wallet to cover the phlo etc - https://github.com/rchain/rchain/issues/2997
Fix additional identified bugs
Creating a design spec for how to update contracts on the main net.
Completed - Will has completed the work on malformed trie and it's merged
RCHAIN-4098Getting issue details...STATUS
Ongoing - Improvements to last finalized state expected to be completed in the 0.9.26 release. Significant progress, some of which have been released in 0.9.25 and more scheduled to be released in 0.9.25.1 after testing is complete. The PR and the branch are structured so that multiple people can collaborate/ work on different parts of the feature at the same time. The scope of this work enables (a) faster catchup by new nodes - you can start from the last finalized state - this is a differentiator for RChain (b) offloading older data, differentiated storage and retrieval strategies for the same (c) allows for a leaner / less bloated node. This change touches most parts of the code base. Having to pick between refactoring and work-arounds in various parts. Tomislav implemented a mostly modular and future-beneficial approach.
SRE - Investigating JVM configuration parameters to increase garbage collection frequency and reduce OOM errors
Setting up a private repository to collect, discuss and resolve any security issues reported by the community or discovered by the team
Ongoing - We are slowly moving from Jira to Github for the development team, started publishing release notes in Github with release 0.9.25. New issues are entered only in github. For a while, we will maintain in both Jira and Github.
ToDo - There were questions from the community regarding enabling privacy and zero knowledge proofs on the chain - this is in active discussion. Greg will create a position statement on this and likely discuss the current state of the art, use cases and potential approaches in an RCast session. Same with sharding and cross-chain operation.
Dan Connolly continues to make progress on the RChat effort using zulip.
TODAY - Raphael's demo of the next iteration of Dappy and session(s) to teach people how to use it
Current Backlog (partial)
Improve merging in system deploys
Improve Casper by enabling more tests and resolving identified code issues
Improve BlockMerge including refactoring RunTimeManager
Improve multi-parent Casper enablement
Implement sharding capabilities
Improve logging to be able to learn what API calls are being used, so they can be related to resource use and performance etc
Rholang 1.1 to improve syntax and user experience / learning curve