why not update berkeley-db from 4.8.30 to 6.1 ? #6253

issue LongShao007 opened this issue on June 8, 2015
  1. LongShao007 commented at 10:33 AM on June 8, 2015: contributor

    bitcoin core use berkeley-db 4.8.30, but the latest version of berkeley-db is 6.1.23, why not update it ?

  2. jonasschnelli commented at 10:56 AM on June 8, 2015: contributor

    bdb 4.8.30 is still in use because of backward compatibility. See @luke-jrs comment: #3686 (comment)

    Using BDB as wallet filebackend is maybe not the best idea (as we see above, backward compatibility, integrity, compile-issues, etc.). I hope once I can finish #5686 which would introduce a new custom fileformat that only appends data and uses hashing to harden the integrity.

  3. LongShao007 commented at 2:08 AM on June 9, 2015: contributor

    well done, I have seen #5686, i am very interesting in it, i will see the code of logdb today.

  4. luke-jr referenced this in commit b4dde825b1 on Jun 9, 2015
  5. laanwj commented at 11:48 AM on June 9, 2015: member

    4.8 was used for backward compatibility reasons. Using a newer versions makes the wallet incompatible with older versions, making downgrade impossible (or at least difficult).

    If we break compatibility anyway we want to get rid of berkeleydb. When we do so, having to support only one version for the migration script is a plus.

  6. laanwj closed this on Jun 9, 2015

  7. LongShao007 commented at 5:42 AM on June 10, 2015: contributor

    @laanwj btcoin core team have any plan to solve this problem ?

  8. jonasschnelli commented at 6:18 AM on June 10, 2015: contributor

    @LongShao007: bdb4.8.3 will be required anyway within the next releases to support a migration tool if we would switch to logdb. But if so, one could disable the build of the migration tool and so get rid of the bdb dependency.

    However, this first needs a testes and finished version of #5686.

  9. LongShao007 commented at 12:21 PM on June 10, 2015: contributor

    @jonasschnelli Have you done a migration tool ? using python ? I am debugging your logdb code.

  10. jonasschnelli commented at 12:25 PM on June 10, 2015: contributor

    @LongShao007: no. I did not investigate in the migration tool. But it should be c++ to use the same database-libray that is used to produce the current wallet.dat file IMO. Once we where talking about having a bitcoin-wallet binary (next to bitcoin-cli and bitcoin-tx). A user could use this tool bitcoin-wallet -migrate wallet.dat wallet.logdb. Other operations could also be possible over the bitcoin-wallet tool (zaptx, salvagewallet, upgradewallet).

  11. sipa commented at 12:43 PM on June 10, 2015: member

    Once the primary wallet format is no longer bdb, the conversion code can be upgraded to use whatever bdb is available, as they are backwards compatible for reading. Though there may be problems when replaying log entries if using it after unclean shutdown.

  12. LongShao007 commented at 12:26 PM on June 24, 2015: contributor

    @jonasschnelli I have seen your logdb code, and debug it, i think it's very good, do you have any uncompleted work need to do about logdb? why not bitcoin core team merge it ?

  13. jonasschnelli commented at 12:33 PM on June 24, 2015: contributor

    @LongShao007: this pr would break compatibility between older wallets. And there is no migration tool yet. My plan is, to create a completely new wallet (core-wallet) which can run in parallel to the existing wallet (https://github.com/jonasschnelli/bitcoin/tree/2015/05/corewallet). This would guarantee a save transition.

  14. LongShao007 commented at 1:05 PM on June 24, 2015: contributor

    @jonasschnelli I will see the code of core-wallet. I want to know the difference between core-wallet and logdb ? Wallet parallel is mean berkely-db and logdb ?

  15. jonasschnelli commented at 1:13 PM on June 24, 2015: contributor

    @LongShao007: the new, parallel runnable wallet should also include other changes, like HD, multi-wallet , mailability-, RBF-handling, and – as already said, should use logdb as file storage.

  16. LongShao007 commented at 2:13 PM on June 24, 2015: contributor

    @jonasschnelli very good, it seems powerful, i see code first, and then talk about it with you.

  17. LongShao007 commented at 11:59 AM on June 26, 2015: contributor

    @jonasschnelli I have downloaded corewallet, compile it, and run bitcoin-qt, but report: No wallet has been loaded. compile command: autogen.sh configure make How can i create new wallet ?

  18. ShapeShifter499 commented at 3:53 PM on October 2, 2018: none

    4.8 was used for backward compatibility reasons. Using a newer versions makes the wallet incompatible with older versions, making downgrade impossible (or at least difficult).

    If we break compatibility anyway we want to get rid of berkeleydb. When we do so, having to support only one version for the migration script is a plus. @laanwj

    I'm sorry for replying to such a old issue but I have question. Does this mean the current version will be not compatible with wallet files made with older versions OR newer wallet files created will not be compatible with older versions?

  19. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-13 21:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me