Page MenuHomePhabricator

Create new wallet databases as directories rather than files
ClosedPublic

Authored by Fabien on May 24 2019, 14:13.

Details

Summary
This change should make it easier for users to make complete backups of
wallets because they can now just back up the specified `-wallet=<path>`
path directly, instead of having to back up the specified path as well
as the transaction log directory (for incompletely flushed wallets).

Another advantage of this change is that if two wallets are located in
the same directory, they will now use their own BerkeleyDB environments
instead using a shared environment. Using a shared environment makes it
difficult to manage and back up wallets separately because transaction
log files will contain a mix of data from all wallets in the
environment.

Partial backport of core PR11687 (commit be8ab7d)
https://github.com/bitcoin/bitcoin/pull/11687/commits/be8ab7d082228d09ca529d1a08730d7d5aacb0ed

Depends on D3104
Fixes T651

Test Plan

Read the release notes

make check
./test/functional/test_runner.py wallet_* feature_config_args

Play around with the -wallet option.

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.May 27 2019, 21:40
This comment was removed by deadalnix.
This revision now requires review to proceed.May 27 2019, 21:42
deadalnix requested changes to this revision.May 27 2019, 21:44
deadalnix added a subscriber: deadalnix.

The release notes are all wrong.

This revision now requires changes to proceed.May 27 2019, 21:45

Restore the original PR release notes layout. Replace bitcoin with bitcoin-abc.

deadalnix requested changes to this revision.May 28 2019, 15:23
deadalnix added inline comments.
doc/release-notes.md
43 ↗(On Diff #8953)

bitcoind

This revision now requires changes to proceed.May 28 2019, 15:23

bitcoin-abc => bitcoind

This revision is now accepted and ready to land.May 28 2019, 17:29