Mine empty blocks not working on single node?

+1 vote

I use the following settings:

mine-empty-rounds = 10


target-adjust-freq = -1


But it does not stop mining after 10 blocks even if there are no new transactions.

On a connected network it seems to work, but on a single node network it does not stop.



asked Jun 23, 2017 by Alexoid

1 Answer

0 votes

Is it possible you are still in the blockchain's setup period, when this setting is not applied? Or that you changed this setting with setruntimeparam? If neither of these help, please confirm the version you are using.

answered Jun 23, 2017 by MultiChain
No, I am far over the setup block period. I also did not change this setting with setruntimeparam.

Version I am using is beta2.
Thanks. We can't reproduce this here unfortunately. Are you willing to share your blockchain files from this single node so we can take a look? If so please stop the node, zip up the ~/.multichain/[chain-name] directory and send to multichain dot debug at gmail dot com. If you prefer not to do that, please let us know and we'll ask a few more diagnostic questions.

Sorry, I don't want to share the files.
Please let me know if you need some more information.

What I discovered:
I use the multichain explorer and here  I could see the blocks going up.
But also the transactions are going up so I have at least as much transactions as blocks.
That is a little bit strange since the Explorer shows me the latest transactions and these were confirmed an hour ago...

When I grab a transaction from one of the latest blocks and do a: gettransaction api call
it results in the message: Invalid or non-wallet transaction

Maybe that helps a bit?

EDIT: I just remembered, this could be the empty blocks transactions!?
Yes, these are probably the coinbase transactions which contain the miner signatures but no block reward, so they're not added to any wallet.
So, is there any more information I can provide you?
Can you please

1. Send us the output of getblockchainparams API call
2. Start multichaind with -debug=mcminer runtime parameter and send us 60*<number-of-miners> last rows of debug.log. You can count miners using "listpermissions mine" API.
Send it. Forgot to mention that there is only one miner
We couldn't open your params attachment but the log suggests that your chain has anyone-can-mine=true. If so the mine-empty-rounds setting is disabled. We'll reevaluate that decision for the final 1.0 release but in the meantime that could be the explanation.
I will try that out. Yes, that would be a little bit missleading. Maybe at least another comment in the params.dat.

Thanks for your help!
Yes, sorry about that. Actually I don't see why anyone-can-mine=true should disable the mine-empty-rounds setting, so it's probably an oversight (few people use anyone-can-mine=true) that we'll fix.