I'm sorry about the title, but I could not think of a more condensed way to describe this problem. I forked an older version of blackcoin a while back to make a test altcoin for fun. I have been running it on a few vps nodes and a client. It was set to go to pos after a short pow period, and has been running smoothly.

Now, I recently cloned the latest Blackcoin source (the one that switches to posv2 after a certain block) and edited it to connect to my test coin. It does this, but for some reason every block it stakes is conflicted, even though it is not set to switch to protocol v2 until some block in the future.

Why is this? I have looked over the pos algorithm in kernel.cpp and CheckStakeKernelHash should definitely use the ppc pos algo. Why are they all conflicted? Every pos transaction gets 1 confirm, then conflicts.

  • I don't know much about Blackcoin, but Bitcoin and its immediate derivatives have "checkpoints" where certain blocks have their hashes hardcoded in the source. If Blackcoin has something similar, that would certainly screw up your alternate chain. – Nate Eldredge Aug 8 '14 at 19:29
  • 1
    You are right, but I changed the mapStakeModifierCheckpoints in kernel.cpp to match my testcoin – Matthew Darnell Aug 8 '14 at 19:30
  • I did a gettransaction rpc call on the new client and another client running the older version on a mined tx from staking. Everything on both looked the same in the returned json, except at the end: – Matthew Darnell Aug 8 '14 at 19:37
  • the conflicted one: ], "amount" : -812.93728365, "fee" : 0.09336264, "confirmations" : -1, "generated" : true, "txid" : "362a66bebb08da276a3dedf9bdac992d0516138cf3f8a29b8ae88c9352482882", "time" : 1407524288, "timereceived" : 1407524288, "details" : [ ] – Matthew Darnell Aug 8 '14 at 19:39
  • 1
    Just as a general suggestion, it is easier to read updates like this if you edit your question to include them, rather than leaving them as comments. (You might also see the help center to read about how to format them like code snippets.) – Nate Eldredge Aug 8 '14 at 19:50