Community Update 130

General

  • Release
    • All the validator nodes on the main net are currently running release 0.9.25. The observer nodes and the exchange node on the main net are running 0.9.25.1 release candidate.
    • Test net is currently running 0.9.25.1 release candidate.  We're tagging the final 0.9.25.1 release and expect to update the test net and the main net observer and exchange nodes with it soon and the main net validator nodes subsequently.
    • The final tagged version of 0.9.25.1 has a new PR to implement per validator grpc channel https://github.com/rchain/rchain/pull/3006, along with the tests for nutzipper's PR for node catch up optimization and a fix for the slashing bug / tuple space mismatch error (Tomislav).   This is the second  and substantial part of the Last Finalized State milestone. The main content in this release is DAG Store, BlockStore and LMDB improvements, using the Key Value Store implemented in 0.9.25.  This release also includes many bug fixes. Included PRs are listed at https://github.com/rchain/rchain/pulls?q=is%3Apr+milestone%3Av0.9.25.1  
    • 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
    • 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, prepare for epoch change at the 250k block height, expand validator nodes and take in new bonding.  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
        • final PRs being merged and the release tagged for updates to the various networks. Expected to be completed this week.
      • Release 0.9.26
      • Release 0.9.27
      • 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 - Procedure for faster garbage collection in JVM implemented, to reduce OOM errors
      • CI/CD:
        • DONE - 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, we (a) reviewed the issues in the rchip repository, update status on some (b) Decided to complete the review and prioritize the items this week (c) decided to make the meeting frequency alternate weeks, to allow time for members to research governance technical approaches from other projects like Ethereum, Tezos etc. as input to designing our own Governance mechanisms. 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.  There was discussion of the RChat integration pattern in both this week's Casper session and last Saturday's Rchat session. This pattern can be effectively used in other situations. Steve Ross-Talbot is looking at using this pattern for polis open source voting app https://github.com/pol-is/polis
        • This week, Raphael conducted a couple of working session(s) to teach people how to create pages on Dappy
      • 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 

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

https://developer.rchain.coop 

Date