Change litemode from disabling all Dash specific features to disabling governance validation#3488
Conversation
There was a problem hiding this comment.
code reading suggestion: use gArgs.GetBoolArg("-enableprivatesend", false) as this example:
https://github.com/dashpay/dash/blob/develop/src/wallet/wallet.cpp#L906
There was a problem hiding this comment.
this shouldn't be the case. That second argument is the default, what this line is saying is if "-enableprivatesend" isn't specified, assume that privatesend is enabled, so that someone would have to specifically disable privatesend with "-enableprivatesend=0"
There was a problem hiding this comment.
you are right, i thought that was comparing but the second argument is the default value indeed
UdjinM6
left a comment
There was a problem hiding this comment.
See below + should tweak few lines with !fLiteMode && settings.value("fShowMasternodesTab").toBool() (drop !fLiteMode && part) in src/qt/bitcoingui.cpp and rc/qt/walletview.cpp.
|
see latest commits: have not tested yet |
|
Excellent PR, thank you Pasta for looking into this. Not only would this benefit normal users on the desktop, the breakthrough here could show the way forward for privatesend on native mobile apps. 0.15 Lite mode downloads full blockchain. #3341 |
|
I think all has been resolved |
Signed-off-by: Pasta <pasta@dashboost.org>
…must be MN, so must have litemode off already Signed-off-by: Pasta <pasta@dashboost.org>
…er dash features Signed-off-by: Pasta <pasta@dashboost.org>
Signed-off-by: Pasta <pasta@dashboost.org>
Signed-off-by: Pasta <pasta@dashboost.org>
Signed-off-by: Pasta <pasta@dashboost.org>
Signed-off-by: Pasta <pasta@dashboost.org>
Signed-off-by: pasta <pasta@dashboost.org>
Signed-off-by: pasta <pasta@dashboost.org>
8ebbf9b to
299e6d3
Compare
|
A couple more fixes are needed imo, pls see https://github.com/UdjinM6/dash/commits/pr3488 |
|
Looks good, cherry-picked |
UdjinM6
left a comment
There was a problem hiding this comment.
Seems to be working as expected 👍
Slightly tested ACK
|
Is there any chance this could be included in 0.16? I think it could be useful to allow us to use it as beta testers, then maybe make a bigger announcement for it in 0.17. |
|
Hmm, yeah. I think it probably makes sense to include in 0.16 now... Thoughts @UdjinM6? |
Agree, changes look trivial-ish. Tweaked the milestone. |
…g governance validation (dashpay#3488) * enable privatesend by default in litemode Signed-off-by: Pasta <pasta@dashboost.org> * remove useless litemode check in CPrivateSendServer::ProcessMessage, must be MN, so must have litemode off already Signed-off-by: Pasta <pasta@dashboost.org> * change litemode to mean, doesn't validate governance, but has all other dash features Signed-off-by: Pasta <pasta@dashboost.org> * litemode must be off for MNs cont Signed-off-by: Pasta <pasta@dashboost.org> * change litemode help text Signed-off-by: Pasta <pasta@dashboost.org> * don't skip MN sync in litemode Signed-off-by: Pasta <pasta@dashboost.org> * drop fLiteMode in bitcoingui.cpp Signed-off-by: Pasta <pasta@dashboost.org> * skip governance sync in litemode Signed-off-by: pasta <pasta@dashboost.org> * remove fLiteMode in walletview.cpp Signed-off-by: pasta <pasta@dashboost.org> * add back Signed-off-by: pasta <pasta@dashboost.org> * fix comments * fix cache loading * fix scheduled tasks * Fix help text for some rpcs (revert what's left of 3478) Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
|
backported in #3670 |
…g governance validation (dashpay#3488) * enable privatesend by default in litemode Signed-off-by: Pasta <pasta@dashboost.org> * remove useless litemode check in CPrivateSendServer::ProcessMessage, must be MN, so must have litemode off already Signed-off-by: Pasta <pasta@dashboost.org> * change litemode to mean, doesn't validate governance, but has all other dash features Signed-off-by: Pasta <pasta@dashboost.org> * litemode must be off for MNs cont Signed-off-by: Pasta <pasta@dashboost.org> * change litemode help text Signed-off-by: Pasta <pasta@dashboost.org> * don't skip MN sync in litemode Signed-off-by: Pasta <pasta@dashboost.org> * drop fLiteMode in bitcoingui.cpp Signed-off-by: Pasta <pasta@dashboost.org> * skip governance sync in litemode Signed-off-by: pasta <pasta@dashboost.org> * remove fLiteMode in walletview.cpp Signed-off-by: pasta <pasta@dashboost.org> * add back Signed-off-by: pasta <pasta@dashboost.org> * fix comments * fix cache loading * fix scheduled tasks * Fix help text for some rpcs (revert what's left of 3478) Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
This does a couple of things, it's an alternative to #3484, and works on #3485.
This changes litemode from "disable almost all Dash stuff" to "disable governance validation"
With this change I was able to start a node with
./src/qt/dash-qt --testnet --litemode --txindex=0 --prune=945allowing me to mix, have IS/CL stuff and do almost full validation, all while not needing txindex and while not saving the whole chain on disk.