First block reward not received. Is it a glitch?

+1 vote

I've set up a private blockchain using with native currency enabled, using Multichain v2.0 Alpha1. I have configured the first-block-reward in the parameters. The blockchain has started and reached a height of 59 (The initial setup block height is configured as 60 in parameters). But the first block reward is still not reflected in the node's address. My wallet balance is 0.00000001.

These are my native currency parameters. What has gone wrong?

initial-block-reward = 100
first-block-reward = 1000000000000000000
reward-halving-interval = 4294967295
reward-spendable-delay = 1
minimum-per-output = 100000000
maximum-per-output = 100000000000000
minimum-relay-fee = 0
native-currency-multiple = 100000000

 

Note: I have disabled proof-of-work for the blockchain by setting skip-pow-check parameter to true. The protocol version used is 20001

 

asked Nov 24, 2017 by Cypher

2 Answers

+1 vote
 
Best answer

We can reproduce the problem (also in 1.0.3). There are a number of unusual values in your blockchain parameters, and one of them is triggering a bug. We will look into this, but in the meantime here's what's unusual:

  • Your initial-block-reward is smaller than the minimum-per-output, which means that the output of the coinbase transaction that includes the block reward is too small for this minimum.
  • Your reward-halving-interval is at the top limit.
  • Your first-block-reward is extremely high.

So for a workaround for now, please consider changing those things, assuming you're still in development phase.

answered Nov 27, 2017 by MultiChain
selected May 29, 2019 by Cypher
+1 vote

So we have the answers. There are two issues here:

  1. A bug in MultiChain misreads the value reward-halving-interval if it is above 2^31-1. So please use a value of 1000000000, which will be the maximum in the next maintenance release – it is still more than 31 years.
  2. Your first-block-reward cannot be larger than the maximum-per-output because otherwise the chain will not accept this block.

We've confirmed that if you make these two changes, the chain runs as normal.

answered Nov 29, 2017 by MultiChain
...