Community Update 129
- Rao Bhamidipati
Owned by Rao Bhamidipati
General
- Release
- 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.
- Release 0.9.26 will complete Last Finalized State. Open PRs list at https://github.com/rchain/rchain/pulls
- Release Notes: RNode-0.9.25 release plan and https://github.com/rchain/rchain/releases/tag/v0.9.25
- Full PR list for Rnode-0.9.25 is at https://github.com/rchain/rchain/pulls?q=is%3Apr+milestone%3Av0.9.25+is%3Aclosed
- 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.
- Current Work In Progress
- Release 0.9.25.1
- Fix for the slashing bug. It seems to have been caused by hash mismatch when joins and join channels are unsorted. https://github.com/rchain/rchain/pull/3000 and https://github.com/rchain/rchain/pull/2946 RCHAIN-4099 - Getting issue details... STATUS
- Tests for nutzipper's node catch up optimization (using last finalized state) PR https://github.com/rchain/rchain/pull/2998 and https://github.com/rchain/rchain/issues/2982
- Release 0.9.26
- Complete Last Finalized State https://github.com/rchain/rchain/pull/2913
- 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.
- Fix Rewards calculation bugs https://github.com/rchain/rchain/issues/2956
- Implement On-chain configuration and Shard configuration https://github.com/rchain/rchain/pull/2986
- Implement API calls to getDataAtChannel and getContinuationAtChannel https://github.com/rchain/rchain/pull/2993 and https://github.com/rchain/rchain/issues/2992
- Investigate an error with gRPC streaming whereby the gRPC channel is closed before fully receiving the block https://github.com/rchain/rchain/pull/3006 and https://github.com/rchain/rchain/issues/3005
- 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-4098 - Getting 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
- CI/CD:
- 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.
- TechGovernance:
- Thursday 10 AM Eastern. In the last session, there was extensive discussion of the 'too much free work' attack and various ways it can manifest and corresponding mitigation methods, resulting in the above mentioned PRs by the development team. Meeting notes are at https://docs.google.com/document/d/1fvxMC6Bt5XwbVaLzYPy6ZPB8KzJvASO2sKRC6ZCPwpI
- 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.
- dApp Development:
- 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
- Tuesday TeachOuts by Tomislav (Tuesday 10 AM Eastern, 7 Am pacific) in Jimscarver's zoom room https://zoom.us/j/6853551826
- Release 0.9.25.1
Tech-Governance meetings on Thursdays 10 AM Eastern, 7 Am Pacific
Mercury requirements and acceptance criteria
Details on the acceptance criteria: Mercury acceptance criteria
Please see the documentation at https://github.com/rchain/rchain/blob/dev/docs/features.md.
Testnet status
Please see RChain public testnet information to learn more about public testnet as well as a FAQ.
Tech Governance + Community testing
Thursdays at 14:00 UTC. Please see RChain community RNode testing for more information.
Blockers to Mainnet
NA
Risks to code completion for Mercury
Developer website
Date |
---|