You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the logical continuation of the Public Merkle API initiative (#10988). Also, it overlaps with #14772.
There are two main goals of this Epic:
Remove all platform specifics from the State module
Add state lifecycle management to the State module in an generic (non-platform specific) way
Currently, a Block node would have to not only use the swirlds-state-api module but also swirlds-platform-core as a dependency, which, in turn, contains functionality that is not relevant in the context of the state (consensus, gossip, transaction handling).
We need a State module that has not only a set of API interfaces but also all the necessary implementations to represent the full Merkle state.
The content you are editing has changed. Please copy your edits and refresh the page.
We discussed at DevCon that this State Module may also need to include the management of states similarly to the SwirldStateManager which keeps a thread-safe reference to the mutable state and the latest immutable state, but more than that. It could include logic that does things like ensure that only a single loaded state is mutable and that it is always the latest one even if the user of the module loads another, older state from disk.
This is the logical continuation of the Public Merkle API initiative (#10988). Also, it overlaps with #14772.
There are two main goals of this Epic:
Currently, a Block node would have to not only use the
swirlds-state-api
module but alsoswirlds-platform-core
as a dependency, which, in turn, contains functionality that is not relevant in the context of the state (consensus, gossip, transaction handling).We need a State module that has not only a set of API interfaces but also all the necessary implementations to represent the full Merkle state.
Platform Dependency Removal
swirlds-state-impl
module #16221MerkleStateRoot
from the deprecatedPlatformState
#16380State
class #15638MerkleStateRoot
- extract lifecycle-related code to a separate class #16322swirlds-platform-core
toswirlds-state-impl
#16223MerkleRoot
interface #16436swirlds-state-impl
fromswirlds-platform-core
#16568MerkleStateLifecycle
#16569Filtered*State
andWrapped*State
toswirlds-state-api
#16589Lifecycle Management
getReadablePlatformState()
for thread safety #15620INIT_STATE_FILE_VERSION
#17023The text was updated successfully, but these errors were encountered: