Anybody playing with latest 012.2 branch notice that the mn sync list wont work on startup? Noticed bugs in the code.
............................... show us the code with the bugs.......... or stop being a Troll......
Can't believe I'm actually responding to trolls that will never actually respond with code that does not exist - breath-taking - I know :-P
gosh and gee-whiz guys
Sure. Syscoin used dashes 0.12.2 code as v1 masternodes. In v2 im going to redo masternode design more like what evolution is about but better. Im finding the p2p design of dash is overly complex for what it needs to do and theres a better way to solve the same problem and scale across new services.
https://github.com/syscoin/syscoin2/commit/f248473f50490367563af85eb116e346ee8dcacdIm finding mnsync list doesnt give enough time before mnw starts being requested causing incorrect sig errors for votes coming in.
https://github.com/syscoin/syscoin2/commit/90216592da0afcf1429aec60cc077fb328f27272Here setAskFor is not cleared on initial requests before mn list is requested. Therefor on subsequent requests during mn list sync state the invs on those mns are not requested because setAskFor already has the objects.
Ok your turn.
Nice, thanks!
steps to reproduce, start a testnet with one masternode and notice in logs that you will get invalid message during mnw and also that setAskFor bug, it wont resync the list during mnsync but instead only try at the very beginning when headers are syncing, for some reason it skips asking for inv ther ebecause i think its still in waiting mode before list mode starts. I hope tha tmakes sense, do you want me to create a PR?
Yep, I see. The fix is self-explanatory itself actually but thanks for additional info about steps to reproduce.
re PR: oops, I already created one
https://github.com/dashpay/dash/pull/1730, please review. In general, if you see anything that can be fixed/improved (especially in Dash-specific code, and doesn't conflict with bitcoin PRs) - please feel free to submit a fix, PRs are highly welcome
Note: there is also a part for "mnv" invs/messages which is missing in your fix, and a TODO for payment blocks inv which I'd like to fix later changing the way its hash is represented first (in some another PR). These two are not that critical but probably worth fixing too to make code a bit more consistent.
re Dash network code is overly complex: agree, that's a legacy thing and one of our major goals now is to incrementally refactor all this stuff to make code easier to read/review but this takes time.