Consensus received an invalid block: block does not meet target
- siad outputs lots of messages like
Received an invalid block set. Received an invalid block set. Received an invalid block set.
- consensus.log contains lots of message about invalid blocks
2018/02/13 15:14:54.374267 accept.go:290: accept: finished block processing loop 2018/02/13 15:14:54.451635 accept.go:299: Consensus received an invalid block: block does not meet target 2018/02/13 15:15:50.136145 accept.go:245: accept: starting block processing loop (10 blocks, height 140473) 2018/02/13 15:15:50.338401 accept.go:290: accept: finished block processing loop 2018/02/13 15:15:50.381883 accept.go:299: Consensus received an invalid block: block does not meet target
- Consensus height stayed at 140473, matching the height of the invalid block, even it claims to be in-sync. (As of this post, the height should be 141573)
$ siac consensus Synced: Yes Block: 0000000000000001fa3bd3b47483bc833f5206e4631459686327fd76492ad323 Height: 140473 Target: [0 0 0 0 0 0 0 2 188 225 133 56 249 210 248 122 129 123 139 116 204 113 190 71 125 197 78 158 74 182 0 140] Difficulty: 6737758468891502720
So it seems the consensus DB is corrupted.
- How to fix it?
- Will this cause losses in collateral of my hosting contracts? "siac host" says "Host appears to be working.", but no change in used storage for some time.
I ended up downloading the blockchain from https://consensus.siahub.info ... It took around 12 hours to catch up the consensus (upon download, it's around 7 hour old).
Then errors appeared in transactionpool.log. So I removed the directory and let it regenerate everything. I did not know how it take but after I wake up, everything was up and running.
I checked host.log and found lots of error too. But it repaired itself... Perhaps the transaction pool could do so too.