bitcoind – Upgrading/changing bitcoin core pockets between platforms


After 2 years of being shut down, I’m making an attempt to revive my bitcoin full node, whereas each switching platforms and upgrading to the present model within the course of. Every part 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 not likely want that pockets to be totally imported, simply to get the bitcoin related to it into the an tackle managed by the brand new node.

I learn this problem report that blames the model of the berkley db lib recordsdata. I compiled bitcoin core domestically with the older BDB libs supplied through bitcoin/contrib/ per that problem report, and acquired the identical outcome. The factor is, since (afaik) the home windows platform doesn’t present an implementation of BDB, I don’t know what headers are right 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 recordsdata, if it helps.

gdb backtrace pastebin. Notice 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 gradual exterior hdd (ntfs)

New node:

  • Debian Buster secure
  • bitcoin core daemon 0.21, compiled domestically
  • syncing now, presently late March 2019
  • BDB 4.8.30.NC compiled through included script and detected by configure
  • datadir on gradual inner sata hdd (ext4)

Is there any option to import an previous/otherwise formatted pockets.dat file into a more recent node? Is there maybe a option to extract the non-public key information from stated previous file, so it may be manually imported? Might the previous node software program probably create and ship a transaction with the complete contents of the previous pockets to a brand new tackle with out totally syncing first? Is it doable the previous model of bitcoinn core may totally sync with the trendy blockchain?

e: forgot to say: the db err logfile /mnt/information/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 a lot of traces like

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

however after operating for a couple of days, it listed as much as block peak slightly below 500000 after which segfaulted once more.

Supply hyperlink

Leave a reply