As of this PR, the node is able to sync itself fully via PIBD, but only tested on a closed local network under ideal conditions. Note there's very little error handling or retry happening at the moment, and no stats on the progress are output to the TUI. (This will be the focus of the next few PRs)
Specific changes:
Pass sync_state into desegmenter to allow for tui reporting + progress updates from validation thread
Add validation logic into desegmenter validation thread. Note there is a lot of copied code here from txhashset validation, however this keeps the logic independent from txhashset and will allow validation to be better integrated into the pibd process over time (e.g. validating while downloading is still going on)
Ensure genesis-related entries are removed from pmmrs when they don't exist in the hash set
remove extension rewind function on resume (root cause of issue was related to genesis leaves above)
Ensure spent but unpruned outputs passed within pibd segments are removed from the underlying leaf set
As of this PR, the node is able to sync itself fully via PIBD, but only tested on a closed local network under ideal conditions. Note there's very little error handling or retry happening at the moment, and no stats on the progress are output to the TUI. (This will be the focus of the next few PRs)
Specific changes: