-
Notifications
You must be signed in to change notification settings - Fork 855
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pool generate wrong coinbaseHash while using groestl #156
Comments
By the way @foxer666 @devnull-ed any ideas? |
Check the source of the coin you're mining and see what hashing algorithms it uses for coinbase/transactions, block header hash, and full block hash. |
I'm developing my simple bitcoin-based proof of concept coin, and it pretty much works like pure bitcoin. For coinbase/transactions it uses default sha256D for but for header hash I use groestl algo. With normalHashing flag false (it uses sha256 for coinbase hashing):
As you can see, it generate valid blockHash but because bitcoin use sha256D for transaction hashing, it produce invalid coinbase hash which result to invalid Merkle Root. With normalHashing flag true (it uses sha256D for coinbase hashing):
In this case pool produce correct coinbaseHash, but it result to invalid blockHash :( I believe this issues (1, 2, 3) also caused by this bug. P.s. just in case, solo mining works fine, thats why I think thats not coin but pool bug. |
You may need to implement another pool setting and associated js to specify which algo to use for blockHash specifically. |
Hello again @zone117x just want let you know, that I managed to successfully launch your pool, problem was in my code (for some reason pool start working when I use diamond groestl lol). But anyway, thanks for your help, your pool is AWESOME :) ! |
Hello, I'm trying to launch pool for my groestl (not myriad groestl) based coin. When I tried mining pool give me strange "We thought a block was found but it was rejected by the daemon" message. After some code researching and debug I found this piece of code in lib/jobManager.js file:
As you can see, while you using groestl pool use regular sha256 instead of sha256D for coinbase tx hashing which results to generating wrong Merkle Root (bad-txnmrklroot error if be more precise). I tried add normalHashing flag to coin config, and it start generating correct hash and merkle root, but it resulted to wrong block hash (it looks like that
98ae12ff1e3f61505da5d0cd705823c5a6f72be65da36c49a692c86d77b04dae
).I tried to figure out why it's happening on my own, but after week of googling and research I'm out of ideas, you my last hope @zone117x :D
The text was updated successfully, but these errors were encountered: