Report Date | 2024-10-16 |
Submitted by | Timothy Wu |
Continued working on GRANDPA integration within Gossamer. We merged the standalone finality-grandpa package (PR) to development and is now used partially when verifying GRANDPA justifications while syncing (PR).
Shifted focus in the last quarter to the integration of our version of TrieDB
, which is our version of the lazy loaded, ephemeral trie that supports caching and node recording. This will greatly reduce memory usage in Gossamer, as well as drastically reduce the node startup time. My focus is currently on reworking our entire block storage and providing caches to TrieDB
based on state root. It was determined that there are changes required for TrieDB
which I addressed recently.
First was to implement Go generic support within TrieDB
to support any hash implementation, where the interface aligns with primitives we've introduced into Gossamer. As well as rework how we handle nibble keys and revise the iterator for integration into future work (PR).
The second change is the implementation of node level caching within TrieDB
(PR). Given that we are moving away from the full in-memory trie within Gossamer to this lazy loaded, ephemeral trie provided by TrieDB
, we thought it was prudent to have the same decoded node caching mechanism that is found in the parity trie-db implementation to maintain similar levels of performance to the full in-memory trie. We will be benchmarking the node to know how far performance has degraded.
Provide your voting record in relation to required thresholds for your rank.
Ranks | Activity thresholds | Agreement thresholds | Member's voting activities | Comments |
---|---|---|---|---|
I | 90% | N/A | Missed voting on #150 | I will be actively monitoring members track referenda moving forward. |
II | 80% | N/A | ||
III | 70% | 100% | ||
IV | 60% | 90% | ||
V | 50% | 80% | ||
VI | 40% | 70% |
Question(s):
Concern(s):
Comment(s):
Threshold