-
Notifications
You must be signed in to change notification settings - Fork 183
Superblock validation - Part I #1526
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
jamescowens
merged 31 commits into
gridcoin-community:development
from
jamescowens:integrated_scraper_2
Sep 24, 2019
Merged
Superblock validation - Part I #1526
jamescowens
merged 31 commits into
gridcoin-community:development
from
jamescowens:integrated_scraper_2
Sep 24, 2019
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Also Implement grace period for manifest deletion via a mapPendingDeletedManifest map to eliminate spurious part receipts. First implementation of SB validation function
Add convergence hints to NN::Superblock
Add superblock WellFormed() and GetHash() methods
Also make a number of changes from debugging ValidateSuperblock.
and manifest content hash
Create SuperblockValidator class
This is an additional check that should eliminate the spurious part problem.
635141e
to
512a5ff
Compare
jamescowens
added a commit
that referenced
this pull request
Oct 22, 2019
Added - Add testnet desktop launcher action for Linux #1516 (@caraka) - Shuffle vSideStakeAlloc if necessary to support sidestaking to more than 6 destinations #1532 (@jamescowens) - New Superblock format preparations for Fern #1526, #1542 (@jamescowens, @cyrossignol) - Multisigtools - Consolidate multisig unspent #1529 (@iFoggz) - Scanforunspent #1547 (@iFoggz) - consolidatemsunspent and scanforunspent bug fix #1561 (@iFoggz) - New banning misbehavior handling and Peers Tab on Debug Console #1537 (@jamescowens) - Reimplement getunconfirmedbalance rpc #1548 (@jamescowens) - Add CLI switch to display binary version #1553 (@cyrossignol) Changed - Select smallest coins for contracts #1519 (@iFoggz) - Move some functionality from miner to SelectCoinsForStaking + Respect the coin reserve setting + Randomize UTXO order #1525 (@iFoggz) - For voting - if url does not contain http then add it #1531 (@iFoggz) - Backport newer serialization facilities from Bitcoin #1535 (@cyrossignol) - Refactor ThreadSocketHandler2() Inactivity checks #1538 (@iFoggz) - Update outdated checkpoints #1539 (@barton2526) - Change needed to build Gridcoin for OSX using homebrew #1540 (@Git-Jiro) - Optimize scraper traffic for expiring manifests #1542 (@jamescowens) - Move legacy neural vote warnings to debug log level #1560 (@cyrossignol) - Change banlist save interval to 5 minutes #1564 (@jamescowens) - Change default rpcconsole.ui window size to better support new Peers tab #1566 (@jamescowens) Removed - Remove deprecated RSA weight and legacy kernel #1507 (@cyrossignol) Fixed - Clean up compiler warnings #1521 (@cyrossignol) - Handle missing external CPID in client_state.xml #1530 (@cyrossignol) - Support boost 1.70+ #1533 (@iFoggz) - Fix diagnostics failed to make connection to NTP server #1545 (@Git-Jiro) - Install manpages in correct system location #1546 (@Git-Jiro) - Fix ability to show help and version without a config file #1553 (@cyrossignol) - Refactor QT UI variable names to be more consistent, Fix Difficulty default #1563 (@barton2526) - Fix two regressions in previous UI refactor #1565 (@barton2526) - Fix "Owed" amount in output of "magnitude" RPC method #1569 (@cyrossignol)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request groups together the set of commits that implements the new superblock validation. It is currently incomplete. This PR will track development of the integrated_scraper_2 through the conversion of the ValidateSuperblock function into a class.
It also includes the implemention of a "pending delete" map for CScraperManifests to avoid the occasional "spurious part" problems that we were seeing. We determined this was happening due to deletion of a manifest on the local node in between the request for a part based on that manifest and the actual receipt of the part by the node. If the manifest is deleted in between, a reference to the part may no longer exist and it will be deemed spurious. To prevent this, the CScaperManifest entry to be deleted is moved to the mapPendingDeletedManifest and held there for nScraperSleep time. Since the reference to the part is maintained, the part when received is no longer deemed spurious. nScraperSleep time is more than enough to deal with parts receipt latency.