mimblewimble / grin

Minimal implementation of the Mimblewimble protocol.
https://grin.mw/
Apache License 2.0
5.04k stars 991 forks source link

`verify-chain` node client arg #3678

Closed deevope closed 2 years ago

deevope commented 2 years ago

Following this feature suggestion https://github.com/mimblewimble/grin/issues/3609

Usage: Full chain validation grin client verify-chain

Partial chain validation grin client verify-chain --fast

PS: This PR need the API to gracefully shutdown, need to merge https://github.com/mimblewimble/grin/pull/3677

phyro commented 2 years ago

Thanks for making it a reality! Sorry for the delay. I've set up a new system at home and have hit some unexpected issues with syncing for some reason and am still figuring why. I'll try to sync on the latest master tomorrow that contains some optimizations and see if I can make it sync and then check this one. One thing we'll have to check is whether this blocks other actions (api, block processing, potential sync requests, can we get banned if we fall behind but advertise availability) due to locking or similar since I expect it to be running for some time. Maybe we don't even care for these cases, but if nothing else, to document if that's the case.

yeastplume commented 2 years ago

Reviewed requested changes, all good with me. Thanks for this PR at @deevope and for the detailed review @tromp !