@PawGo, slightly off topic but is your solver multithreaded? Default config is only using one thread on my machine.
I think END is for single thread only, try to launch it with SEARCH, it is multithreaded.
How many characters are missing? Maybe this weekend I will add multithreading to END, to be honest I never had a serious case for it, so I was too lazy to do it for myself
Anyway, if only end is missing and you are sure about the part you decoded, maybe bitcrack would be a better solution.
I'm missing 11 characters, but End mode is only putting 7 characters at the end of each private key. This has to be a bug, because these keys can't be imported because their format is invalid.
The idea is that I ignore last 4 characters and do not process them - because checksum part could be 'generated' based on decoded
existing part. In other words - I prepare partial WIF (without checksum - in my version 4, but I think it could be 5 characters), I add any "stupid" characters just to have 52, I decode it ignoring incorrect checksum and encode again, receiving WIF with correct checksum this time.
This part:
for (int m = 0; m < missing; m++) {
sb.append("1");
}
byte[] bytes = Base58.decode(sb.toString());
bytes = Arrays.copyOfRange(bytes, 1, bytes.length - 4);
if (len == Configuration.COMPRESSED_WIF_LENGTH) {
bytes[32] = 1;
}
String encoded = Base58.encodeChecked(128, bytes);
Later I process this WIF.
Of course it could be optimized somehow, like extract private key and test it as a key, not as a WIF, but as I said - I was never focused on this worker, so I kept it simple.