Community Update 136
- Rao Bhamidipati
Owned by Rao Bhamidipati
General
- Release
- All the main net validator nodes are running release 0.9.25.3. https://github.com/rchain/rchain/releases/tag/v0.9.25.3
- We're currently testing the 0.9.25.4 release that resolves one of the long standing bugs RCHAIN-727 - Getting issue details... STATUS
- In parallel, We are testing the Rnode 0.9.26-lfs-alpha.2 on the various networks. More generative tests are being written.
- Test net is currently running release 0.9.25.3. Will be moving to 0.9.25.4 soon.
- 0.9.25.1.1 and 0.9.25.2 are bug fix release on top of 0.9.25.1. 0.9.25.3 is a performance optimization on top of these. Release 0.9.25.1 and 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. Node catch up is now much improved. This release also includes many bug fixes including for the slashing /tuple space mismatch bug reported earlier. gRPC behaviour is improved with per validator grpc channel
- Release 0.9.26 will complete Last Finalized State and is a major milestone. It's currently being tested. More generative tests need to be written. Open PRs list at https://github.com/rchain/rchain/pulls the ones attached to 0.9.26 milestone.
- 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.
- Main net has 20 nodes running plus observer nodes and exchange node.
- Sprint 64 in progress
- Main Focus of release 0.9.26: Completing and testing 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
- Current Work In Progress
- Release 0.9.26
- In Process - Complete Last Finalized State https://github.com/rchain/rchain/pull/2913 Working through different kinds of testing and resolving the discovered bugs - both in the newly written code as well as in the previous code. I really appreciate the excellent care and diligence by the team in resolving all these issues.
- DONE - Team is working on mapping out all state changes and the inter-relationships, to make sure LFS calculation/characterization is correct in all possible conditions. Also trying to resolve issues related to properly handling slashing justifications and the blocks that contain those. https://gist.github.com/tgrospic/4f92351474e1aea44dfcd9c55c0d697d has the latest version of the specification
- Once we have the process for PoS contract changes (hard fork) implemented (0.9.27 or later versions), further simplification of last finalized state may be possible.
- Done, released as 0.9.25.3 - Addressing the slow down in fork-tip calculations as the number of blocks and DAG size increase https://github.com/rchain/rchain/pull/3099 and https://github.com/rchain/rchain/pull/3100
- Ongoing - Fix additional identified bugs
- DONE - Will is contemplating an API to request testREV from the test net. This should be useful for dApp developers and their users/testers. Ian to demo this today.
- Also in the thinking stage is a graph representation of payments, with perhaps date+time and amount on the arcs.
- Release 0.9.27 and beyond
- Creating a design spec and the code for how to update contracts on the main net. This will enable addressing some of the pressing issues such as faster epoch times, and other issues listed below
- Fix Rewards calculation bugs https://github.com/rchain/rchain/issues/2956
- Finish dependency updates and plugin updates, so that refactoring of Run Time and Run Time Manager are easier.
- Refactor Run Time Manager. This includes many changes including https://github.com/rchain/rchain/pull/2946
- 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 and https://github.com/rchain/rchain/issues/2976
- Implement On-chain configuration and Shard configuration https://github.com/rchain/rchain/pull/2986
- Creating a design spec and the code for how to update contracts on the main net. This will enable addressing some of the pressing issues such as faster epoch times, and other issues listed below
- 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 0.9.25.1 through 4. 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 - Migration to IBM cloud is complete. Further optimizing node configurations on IBM.
- CI/CD:
- Slow Going - Dependencies updates are now being handled in my branch, with PRs to the main repository. You are welcome to collaborate on these at 9rb/rchain. It's a good exercise in learning Scala environment and dependencies .
- 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. Meets alternate weeks. Meeting notes are at https://docs.google.com/document/d/1fvxMC6Bt5XwbVaLzYPy6ZPB8KzJvASO2sKRC6ZCPwpI Discussions and work on a model of economics to ensure network security is proceeding
- 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.
- In progress - Excel Model for 'economics of sustainable network security and decentralization' to enable community understanding of the inter-relationships and community conversation around these issues. Will be releasing the initial version soon. May have multiple releases.
- dApp Development:
- Dan Connolly continues to make progress on the RChat effort using zulip. SRT and possibly Will to add 'Rchain to zulip' functionality. Invite any community members with the expertise to help in this.
- Hackathon planning and execution is in full swing. We expect to have the hackathon registration page ready this week. We expect 5000 or so registrations, with a final selection of 50 to 200 participants. We will start contacting the institutes late this week and early next week. We need to generate a bank of test questions, Pull Request tasks on Github, and Problem Statements. The community is welcome to contribute to any or all of these.
- 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.26
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 |
---|