Community Update 95
General
Release
Node version 0.9.15 is the current release RNode-0.9.15 release plan
Testnet is currenty running rnode version 0.9.15
The 0.9.15 includes the new type safe API (instead of Either), some fixes for Long Proposal Times Issue, Offchain-data API (events API) improvements and other incremental progress in features discussed below.
Sprint 40 in progress
Main focus is on reaching Testnet 3 (a) Cost accounting (b) Long proposal times - Fairness Constraint and other improvements (d) Additional tests for multisig features (e) ongoing work in Casper tests independent of network layer (f) Ongoing work in Planning and implementation for Network safety, reliability and hardening
Cost accounting
Design and Scope of work at https://gist.github.com/ArturGajowy/73e481767548b084a8e5d7c19bb1f70c
Implementation in progress for these preliminary tasks needed for implementing the main portions of cost accounting:
Merged - Some refactorings needed for Cost Accounting are completed and currently being reviewed e.g. https://github.com/rchain/rchain/pull/2770
Generalize NormalizerEnv -PR reviewed and changes made. Expecting to be merged tomorrow.
Merged - Validate user deploy cost in replay https://github.com/rchain/rchain/pull/2767/commits
In review - Bulletproof unforgeable-name namespace uniqueness by prohibiting terms wider than Short.MAX_VALUE splits/terms https://github.com/rchain/rchain/pull/2768
Merged - Remove DeployData.payment log, included in https://github.com/rchain/rchain/pull/2767
Merged - Signed[A: Serialize] with a signing smart-constructor
Created PR to secure access to protocol-private PoS methods
Merged - Casper refactorings needed for Cost Accounting mainly to improve type inference - https://github.com/rchain/rchain/pull/2761
The 'System Deploy' construct, https://rchain.atlassian.net/browse/RCHAIN-3767 necessary for cost accounting, is implemented and in review. Expected to be merged soon.
In parallel, work has started on combinatorial Rholang terms in contracts, to test stability of cost accounting across such combinations.
Remaining chunks of work in cost accounting are (a) writing the charging logic https://rchain.atlassian.net/browse/RCHAIN-3625 and https://rchain.atlassian.net/browse/RCHAIN-3624 -work is starting on these two tickets, (b) modifying existing tests to match the new code (c) writing additional tests (d) writing integration tests. Trying to maximally parallelize test writing effort. Working in shifts on large PRs.
Reduce long proposal times:
Initial implementation of a (simple round robin) fairness constraint as an additional mechanism to address long proposal times. PR https://github.com/rchain/rchain/pull/2776 corresponding to https://rchain.atlassian.net/browse/RCHAIN-3879 is in review, and waiting to be merged. Final tests are currently being done to measure actual improvement from this fairness constraint.
Observed that 'create block' is where the rabbiting behavior starts. Investigating reasons thereof to understand the problem at a more granular level. https://rchain.atlassian.net/browse/RCHAIN-3724
Investigating improvements to other bottlenecks e.g. in slow finalization https://rchain.atlassian.net/browse/RCHAIN-3872 , ignore invalid blocks in toposort: Merged https://github.com/rchain/rchain/pull/2757 etc. Additional improvements to finalization implemented, including making finalization persistent:
In review -Persist last finalized block https://github.com/rchain/rchain/pull/2780
In review - Add new termination condition for isInMainchain https://github.com/rchain/rchain/pull/2775
Disallow invalid blocks as parents https://rchain.atlassian.net/browse/RCHAIN-3892
We continue to explore various test parameters and more complex contracts, to both test the stability of this issue and make it manifest sooner if it exists.
Rspace
In Progress - In RSpace, an API is implemented for DAG discovery and block discovery, to enable an alternative to ListenForData@Name (Off-chain observability of deploy results). Relevant tickets are https://rchain.atlassian.net/browse/RCHAIN-3760 https://rchain.atlassian.net/browse/RCHAIN-3661 and https://rchain.atlassian.net/browse/RCHAIN-3762 and https://rchain.atlassian.net/browse/RCHAIN-3812
A simplistic Block Explorer is implemented https://github.com/rchain/rchain/pull/2725 Documentation on how to use it at Data reporting
In Review - Implementation of mult-sig vault features is ongoing as detailed in https://rchain.atlassian.net/browse/RCHAIN-3392 https://rchain.atlassian.net/browse/RCHAIN-3196 https://rchain.atlassian.net/browse/RCHAIN-3223 and https://rchain.atlassian.net/browse/RCHAIN-3773. Additional changes being made to the code based on design discussion.In final review - https://github.com/rchain/rchain/pull/2774 Next step is to add more tests for this.
Refactoring, Optimizations and bug fixes - ongoing
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.
Community testing
Sept 19 at 14:00 UTC. Please see RChain community RNode testing for more information.
Blockers to testnet-3
TBD
Risks to code completion for Mercury
Evaluating backlog vs current velocity
Developer website
Date |
|---|
Oct 23, 2019 |