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
Maintain the state (e.g. synching, synched, etc...) of the node for state sync & execution purposes. the consensus module will have a variable that maintains state. This will require a constant that indicates its state (synced, syncing, pacemaker). The consensus module should still control state sync but there should be no validation as part of this implementation.
## Description
Defines entry points and transitions of the state machine for the
following modes:
- Unsynched mode
- Sync Mode
- Synced Mode
- Pacemaker Mode
This PR aims to define state transitions between different modes.
Currently, server mode is not represented by the node's FSM, but rather
it is set through a config variable, and it can be turned on and off via
exported `EnableServerMode` and `DisableServerMode` functions
## Issue
Fixes#351
## Type of change
Please mark the relevant option(s):
- [X] New feature, functionality or library
- [ ] Bug fix
- [ ] Code health or cleanup
- [ ] Major breaking change
- [ ] Documentation
- [ ] Other <!-- add details here if it a different type of change -->
## List of changes
- Added `fsm_handler.go` to the consensus module to trigger business
logic in consensus module accordingly to the FSM events
- Added `FSMConsensusEvents` interface to the shared module
- Updated and added FSM states, events, state transitions
## Testing
- [x] `make develop_test`
- [x]
[LocalNet](https://github.com/pokt-network/pocket/blob/main/docs/development/README.md)
w/ all of the steps outlined in the `README`
## Required Checklist
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have tested my changes using the available tooling
- [x] I have updated the corresponding CHANGELOG
### If Applicable Checklist
- [x] I have updated the corresponding README(s); local and/or global
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] I have added, or updated,
[mermaid.js](https://mermaid-js.github.io) diagrams in the corresponding
README(s)
- [ ] I have added, or updated, documentation and
[mermaid.js](https://mermaid-js.github.io) diagrams in `shared/docs/*`
if I updated `shared/*`README(s)
---------
Co-authored-by: Alessandro De Blasis <[email protected]>
Co-authored-by: Daniel Olshansky <[email protected]>
Co-authored-by: Daniel Olshansky <[email protected]>
Objective
Maintain the state (e.g. synching, synched, etc...) of the node for state sync & execution purposes. the consensus module will have a variable that maintains state. This will require a constant that indicates its state (synced, syncing, pacemaker). The consensus module should still control state sync but there should be no validation as part of this implementation.
Origin Document
State sync block by block design: #125
Goals
Deliverables
Non-goals
General issue checklist
Creators: @jessicadaugherty @Olshansk
The text was updated successfully, but these errors were encountered: