<p>The error means that your genesis block has an invalid Proof of Work.</p>

CC BY-SA 3.0
2018-02-06T05:21:40.940Z
so that means I have to again generate hash with different valid genesis block
user75884
CC BY-SA 3.0
2018-02-06T13:34:26.133Z
How to check if the PoW of the genesis block is valid?
soupdiver
CC BY-SA 3.0
2018-02-06T15:34:42.307Z
You actually have to mine the genesis block (it's very easy to do) and check its proof of work when it is being created. You can do that with a while loop to increment the nonce and the `CheckProofOfWork()` function.
Ava Chow
CC BY-SA 3.0
2018-02-26T08:09:34.580Z
@AndrewChow Hi. So again me.. How exactly do that in chainparams.cpp? If I write CheckProofOfWork() in chainparams.cpp (of course #include "pow.h"), error says........... undefined reference to "CheckProofOfWork(..."
creator
CC BY-SA 3.0
2018-03-01T09:38:35.993Z
ok, so I solved link problem, revised makefile.am, and wrote like while(!CheckProofOfWork(genesis.GetHash(), genesis.nBits,,,,, )){ ++genesis.nNonce; }, but still got CBlockDiskPos error with ./xxxcoind run, or AcceptBlock: high-hash, proof of work failed (code 16), Potential stale tip detected, will try using extra outbound peer error with ./xxxcoind -reindex
creator
CC BY-SA 3.0
2018-02-06T03:44:24.447Z
2018-02-06T03:44:24.447Z
Ava Chow
<p>I am trying to create altcoin(Abccoin) from bitcoin and change parameters in chainparams.cpp and also generated the genesis block hash and hashMerkleRoot but when I start the daemon with 
<strong><code>abccoind -daemon</code></strong> </p>

<p>I get the error in debug.log :</p>

<pre><code>ERROR: ReadBlockFromDisk: Errors in block header at CBlockDiskPos(nFile=0, nPos=8)
</code></pre>

<p>Using -reindex also doesn't solve the problem, then I got another error :</p>

<pre><code>ERROR: AcceptBlock: high-hash, proof of work failed (code 16)
</code></pre>

<p>Does anybody know how to solve this problem?</p>

CC BY-SA 3.0
2018-02-06T13:34:10.003Z
I'm having the same issue. I used the `CreateGenesisBlock` function.
soupdiver
CC BY-SA 3.0
2018-02-26T08:04:23.853Z
I met same problem. have you solved? Any updates? Please share.
creator
<bitcoin-core><altcoin>
ERROR: ReadBlockFromDisk: Errors in block header at CBlockDiskPos(nFile=0, nPos=8) in altcoin
user75884
# ERROR: ReadBlockFromDisk: Errors in block header at CBlockDiskPos(nFile=0, nPos=8) in altcoin

(Asked by: username_0 on 2018-02-05)

I am trying to create altcoin(Abccoin) from bitcoin and change parameters in chainparams.cpp and also generated the genesis block hash and hashMerkleRoot but when I start the daemon with
**`abccoind -daemon`**

I get the error in debug.log :

```
ERROR: ReadBlockFromDisk: Errors in block header at CBlockDiskPos(nFile=0, nPos=8)

```

Using -reindex also doesn't solve the problem, then I got another error :

```
ERROR: AcceptBlock: high-hash, proof of work failed (code 16)

```

Does anybody know how to solve this problem?

**Tags:** bitcoin-core, altcoin

> **Comments:**
> **username_1**: I'm having the same issue. I used the `CreateGenesisBlock` function.  
> **username_2**: I met same problem. have you solved? Any updates? Please share.  

---

## 1 answers

### Answer by username_3 on 2018-02-06. Score: 1

The error means that your genesis block has an invalid Proof of Work.

> **Comments:**
> **username_0**: so that means I have to again generate hash with different valid genesis block  
> **username_1**: How to check if the PoW of the genesis block is valid?  
> **username_3**: You actually have to mine the genesis block (it's very easy to do) and check its proof of work when it is being created. You can do that with a while loop to increment the nonce and the `CheckProofOfWork()` function.  
> **username_2**: @AndrewChow Hi. So again me.. How exactly do that in chainparams.cpp? If I write CheckProofOfWork() in chainparams.cpp (of course #include "pow.h"), error says........... undefined reference to "CheckProofOfWork(..."  
> **username_2**: ok, so I solved link problem, revised makefile.am, and wrote like while(!CheckProofOfWork(genesis.GetHash(), genesis.nBits,,,,, )){ ++genesis.nNonce; }, but still got CBlockDiskPos error with ./xxxcoind run, or AcceptBlock: high-hash, proof of work failed (code 16), Potential stale tip detected, will try using extra outbound peer error with ./xxxcoind -reindex  

---

