Community Update 128
- 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.
- Testnet is also running on 0.9.25. We will start testing release 0.9.25.1 on it soon (likely starting tomorrow).
- We are currently testing RNode-0.9.25.1 release on the sandbox. It is close to complete, other than one PR with tests. Two more PRs will be merged today and nutzipper is working on a third PR to create some tests on his PR, for a total of 19 PRs, of which 16 are already merged. 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. The main content 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 58 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
- 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.
- Creating a design spec for how to update contracts on the main net. Greg to elaborate more on this.
- Ongoing - Tuple space mismatch error RCHAIN-4102 - Getting issue details... STATUS We are fixing this issue. While it would certainly help reduce errors, it's not clear that this is the ONLY source of the problem. At this time this is a non-deterministic and rare error. It took 3 months to manifest and only in one of the ten main net nodes. We will continue to watch and analyze/debug it. We have to put in place a strategy to handle such errors. This is a future ToDo.
- Ongoing - Will has completed the work on malformed trie and should soon be merging it. RCHAIN-4098 - Getting issue details... STATUS
- Ongoing - Fix rewards / cost accounting bug: In developing a dashboard to display validator rewards and costs, we noticed discrepancies in rewards. This seems to occur after slashing. Tomislav noticed that the sequence/timing of application of the various charges and rewards may be incorrect. https://github.com/rchain/rchain/issues/2956
- Ongoing - Fix Slashing errors https://github.com/rchain/rchain/pull/2946 RCHAIN-4099 - 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 - Most mainnet observer nodes are now on the IBM cloud. Moving the exchange servers and some of the mainnet validator nodes to IBM. The goal is to achieve substantial cost reduction but also diversity of cloud infrastructure such that the Rchain network can continue to operate even if one cloud provider has problems (eventual target of only 25% to 33% validator nodes on any given cloud).
- CI/CD:
- 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) agreed to copy the RCHIP process to the github rchip repository so the process and changes to it are visible to the community (b) discussed the risk of some one sending many deploys without sufficient REV for each, causing a network slowdown and the methods to potentially remedy this (c) nutzipper is adding a couple of rchips regarding adding configuration on the chain - Greg to address this in more detail. 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.
- Waiting for Raphael's demo of the next iteration of Dappy and 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
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 |
---|