bitcoind – Upgrading/changing bitcoin core pockets between platforms


After 2 years of being shut down, I’m attempting to revive my bitcoin full node, whereas each switching platforms and upgrading to the present model within the course of. All the things works however the pockets. The presence of the pockets causes the brand new node to crash (segfault). The node works when both pockets.dat is lacking or when -disablewallet is supplied. I do probably not want that pockets to be absolutely imported, simply to get the bitcoin related to it into the an handle managed by the brand new node.

I learn this difficulty report that blames the model of the berkley db lib information. I compiled bitcoin core domestically with the older BDB libs supplied by way of bitcoin/contrib/ per that difficulty report, and obtained the identical consequence. The factor is, since (afaik) the home windows platform doesn’t present an implementation of BDB, I do not know what headers are appropriate for the pockets file generated by home windows bitcoin core.

I wish to keep away from deleting and re-downloading the complete blockchain. I did run as soon as with -disablewallet -assumevalid=0 to confirm the complete blockchain. I retain backups of all pre-upgrade information, if it helps.

gdb backtrace pastebin. Be aware that this run was solely a subset of the cli choices I usually run with, particularly lacking rpc information.

Previous setup:

  • Home windows 7 professional x64 sp1
  • bitcoin core gui (qt) 0.16.0
  • final synced early December 2018
  • BDB model unknown
  • datadir sat on sluggish exterior hdd (ntfs)

New node:

  • Debian Buster secure
  • bitcoin core daemon 0.21, compiled domestically
  • syncing now, at present late March 2019
  • BDB 4.8.30.NC compiled by way of included script and detected by configure
  • datadir on sluggish inside sata hdd (ext4)

Is there any method to import an outdated/in another way formatted pockets.dat file into a more moderen node? Is there maybe a method to extract the non-public key information from stated outdated file, so it may be manually imported? May the outdated node software program probably create and ship a transaction with the complete contents of the outdated pockets to a brand new handle with out absolutely syncing first? Is it potential the outdated model of bitcoinn core may absolutely sync with the fashionable blockchain?

e: forgot to say: the db err logfile /mnt/knowledge/blockchains/btc/blockchain/db.log is empty and retains the final modified date from the primary startup of the unique node in mid 2017.

e2: after translating the pockets to db model 4.8 as @PieterWuille recommended, the node reindexed and printed quite a lot of strains like

2021-02-18T23:58:08Z [default wallet] Submitting wtx f7b5 to mempool for relay

however after operating for just a few days, it listed as much as block top slightly below 500000 after which segfaulted once more.

Supply hyperlink

Leave a reply