Store confirmed ballot without validation in `SYNC` state
- Dominant language
- Go
- Stars
- 44
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
https://github.com/bosnet/sebak/wiki/How-to-SYNC-blocks-with-validators
Unless the node is fully synced yet, it should store confirmed block without validation temporarily.
1. Receive only `ACCEPT` ballot and do not validate.
1. If the number of ballots exceeds the threshold, store the block.
1. The block is handled exactly same with a received block from the validator.
* It means, these blocks are validated sequentially from the genesis Block.
1. When it is done, the node state transits to `CONSENSUS`
Contributor guide
Research direction
Start with the linked wiki page describing how SYNC handles blocks with validators, then locate the Go entry points for SYNC, ACCEPT ballots, and the CONSENSUS transition. Compare the requested flow with the existing validator-received block path and determine how threshold handling and sequential validation are covered. Done means the stated state transition and temporary storage behavior are implemented and verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- blockchain, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100