0

I was trying to clone the bitcoin's source code and run a completely new blockchain. I was successful in changing the initial parameters such as

  • pszTimestamp
  • nTime
  • nNounce

Generated a genesis block and replaced the hardcoded values of

  • consensus.hashGenesisBlock
  • genesis.hashMerkleRoot

The above steps successfully generated the genesis block. But after then the bitcoin core is trying to load the checkpoints( I think so) from disk and results in error.

2017-07-31 21:06:42 Bitcoin version v0.14.99.0-42307c4bf-dirty
2017-07-31 21:06:42 InitParameterInteraction: parameter interaction: -whitelistforcerelay=1 -> setting -whitelistrelay=1
2017-07-31 21:06:42 Assuming ancestors of block 0000000000000000003b9ce759c2a087d52abc4266f8f4ebd6d768b89defa50a have valid signatures.
2017-07-31 21:06:42 Using the 'standard' SHA256 implementation
2017-07-31 21:06:42 Using RdRand as an additional entropy source
2017-07-31 21:06:42 Default data directory /Users/username/Library/Application Support/Bitcoin
2017-07-31 21:06:42 Using data directory /Users/username/Library/Application Support/Bitcoin
2017-07-31 21:06:42 Using config file /Users/username/Library/Application Support/Bitcoin/bitcoin.conf
2017-07-31 21:06:42 Using at most 125 automatic connections (4864 file descriptors available)
2017-07-31 21:06:42 Using 16 MiB out of 32/2 requested for signature cache, able to store 524288 elements
2017-07-31 21:06:42 Using 16 MiB out of 32/2 requested for script execution cache, able to store 524288 elements
2017-07-31 21:06:42 Using 2 threads for script verification
2017-07-31 21:06:42 scheduler thread start
2017-07-31 21:06:42 HTTP: creating work queue of depth 16
2017-07-31 21:06:42 No rpcpassword set - using random cookie authentication
2017-07-31 21:06:42 Generated RPC authentication cookie /Users/username/Library/Application Support/Bitcoin/.cookie
2017-07-31 21:06:42 HTTP: starting 4 worker threads
2017-07-31 21:06:42 init message: Verifying wallet(s)...
2017-07-31 21:06:42 Using BerkeleyDB version Berkeley DB 4.8.30: (April  9, 2010)
2017-07-31 21:06:42 Using wallet wallet.dat
2017-07-31 21:06:42 CDBEnv::Open: LogDir=/Users/username/Library/Application Support/Bitcoin/database ErrorFile=/Users/username/Library/Application Support/Bitcoin/db.log
2017-07-31 21:06:42 Cache configuration:
2017-07-31 21:06:42 * Using 2.0MiB for block index database
2017-07-31 21:06:42 * Using 8.0MiB for chain state database
2017-07-31 21:06:42 * Using 440.0MiB for in-memory UTXO set (plus up to 286.1MiB of unused mempool space)
2017-07-31 21:06:42 init message: Loading block index...
2017-07-31 21:06:42 Opening LevelDB in /Users/username/Library/Application Support/Bitcoin/blocks/index
2017-07-31 21:06:42 Opened LevelDB successfully
2017-07-31 21:06:42 Using obfuscation key for /Users/username/Library/Application Support/Bitcoin/blocks/index: 0000000000000000
2017-07-31 21:06:42 Opening LevelDB in /Users/username/Library/Application Support/Bitcoin/chainstate
2017-07-31 21:06:42 Opened LevelDB successfully
2017-07-31 21:06:42 Using obfuscation key for /Users/username/Library/Application Support/Bitcoin/chainstate: 7bbd099730c6ddd0
2017-07-31 21:06:42 LoadBlockIndexDB: last block file = 0
2017-07-31 21:06:42 LoadBlockIndexDB: last block file info: CBlockFileInfo(blocks=0, size=0, heights=0...0, time=1970-01-01...1970-01-01)
2017-07-31 21:06:42 Checking all blk files are present...
2017-07-31 21:06:42 LoadBlockIndexDB: transaction index disabled
2017-07-31 21:06:42 Initializing databases...
2017-07-31 21:06:42 Pre-allocating up to position 0x1000000 in blk00000.dat
2017-07-31 21:06:42 init message: Verifying blocks...
2017-07-31 21:06:42  block index             208ms
2017-07-31 21:06:42 init message: Loading wallet...
2017-07-31 21:06:42 nFileVersion = 149900
2017-07-31 21:06:42 Keys: 2001 plaintext, 0 encrypted, 2001 w/ metadata, 2001 total
2017-07-31 21:06:42  wallet                  127ms
2017-07-31 21:06:42 setKeyPool.size() = 1999
2017-07-31 21:06:42 mapWallet.size() = 0
2017-07-31 21:06:42 mapAddressBook.size() = 1
2017-07-31 21:06:42 ERROR: ReadBlockFromDisk: Errors in block header at CBlockDiskPos(nFile=0, nPos=8)
2017-07-31 21:06:42 *** Failed to read block
2017-07-31 21:06:42 Error: Error: A fatal internal error occurred, see debug.log for details

There was a thread explaining how to block the code from checking for checkpoints. https://bitcointalk.org/index.php?topic=225690.0 But the thread is outdated and the code has gone through a lot of changes.

I need some help solving the error and proceeding to instamine the first few block and hardcode them too in the code.

  • The first thing to do when you have a segfault is to use your debugger to get a backtrace and inspect the values of relevant variables - have you done that? – Nate Eldredge Sep 1 '17 at 3:42
  • i am getting the same exact error. were you able to solve it? – subodh1989 Oct 3 '17 at 23:19
  • @subodh1989 unfortunately, no. To achieve it with the forum link I provided. We need to rollback literally everything from git version till openssl version. Then it may work. – Kannan Ravindran Oct 4 '17 at 16:09
  • i solved this issue. check my question and answer. – subodh1989 Oct 5 '17 at 1:18
1

Try deleting the block files. That error signals that the proof of work on the loaded block is incorrect.

  • I tried deleting the entire bitcoin folder from ~/Library/Application\ Support/ before trying to run this. still go the same error – Kannan Ravindran Aug 2 '17 at 14:54
  • Did you change any of the proof of work code? – Nick ODell Aug 2 '17 at 16:07
  • Nope, Just the things that I mentioned above. - pszTimestamp - nTime - nNounce - consensus.hashGenesisBlock - genesis.hashMerkleRoot – Kannan Ravindran Aug 2 '17 at 16:25
  • Does the new block have enough proof of work? – Nick ODell Aug 2 '17 at 16:36
  • I haven't started mining (or instamining) even the inital blocks that needs to be hardcoded as checkpointData in chainparams.cpp if thats what you are asking! – Kannan Ravindran Aug 2 '17 at 16:55
0

Also check checkpoints, maybe this will help!

  • by checkpoints, do you mean the checkpoints.cpp ? – Kannan Ravindran Aug 2 '17 at 16:34
  • yeah, depends on code version, also checkpoints in chainparams.cpp –  IT Tech Aug 3 '17 at 22:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.