MarcoFalke 143bd108ed
Merge #19137: wallettool: Add dump and createfromdump commands
23cac24dd3f2aaf88aab978e7ef4905772815cd2 tests: Test bitcoin-wallet dump and createfromdump (Andrew Chow)
a88c320041bd1cd1786b2dfd9ab698a67c2a57c6 wallettool: Add createfromdump command (Andrew Chow)
e1e7a90d5f0616a46ffadd62a9f1c65406cca6b4 wallettool: Add dump command (Andrew Chow)

Pull request description:

  Adds two commands to the `bitcoin-wallet` tool: `dump` and `createfromdump`. These commands will be useful for a wallet storage migration in the future. It is also generally useful to have a storage agnostic dump like this. These commands are similar to BDB's `db_dump` and `db_load` tools. This can also be useful for manual construction of a wallet file for tests.

  `dump` outputs every key-value pair from the wallet as comma separated hex. Each key-value pair is on its own line with the key and value in hex separated by a comma. This is output to the file specified by the new `-dumpfile` option.

  `createfromdump` takes a file produced by `dump` and creates a new wallet file with exactly the records specified in that file.

  A new option `-dumpfile` is added to the wallet tool. When used with `dump`, the records will be written to the specified file. When used with `createfromdump`, the file is read and the key-value pairs constructed from it. `createfromdump` requires `-dumpfile`.

  A simple round-trip test is added to the `tool_wallet.py`.

  This PR is based on #19334,

ACKs for top commit:
  Sjors:
    re-utACK 23cac24
  MarcoFalke:
    re review ACK 23cac24dd3f2aaf88aab978e7ef4905772815cd2 only change is rebase and removing useless shared_ptr wrapper 🎼
  ryanofsky:
    Code review ACK 23cac24dd3f2aaf88aab978e7ef4905772815cd2. Only changes since last review rebase and changing a pointer to a reference

Tree-SHA512: 2d63cf62baca3d16495aa698dc02f7d889c81b41015e9c92c23c275bb4a690fc176d351c3fd7f310bd6b17f5a936cc9be694cbecd702af741b96c0f530e72fa2
2020-12-17 15:18:37 +01:00
..
2020-12-08 19:26:30 +01:00
2020-11-19 15:48:24 +01:00
2020-10-09 14:29:04 +03:00
2020-10-09 14:29:04 +03:00
2020-11-26 09:07:33 +00:00
2020-08-27 20:07:27 -04:00
2020-07-01 14:44:28 -04:00
2020-07-01 14:44:28 -04:00
2020-07-08 14:26:14 +03:00
2020-10-12 02:06:32 -07:00
2020-11-23 21:02:54 +00:00
2020-12-16 12:32:47 -05:00
2020-10-14 11:18:12 -04:00
2020-10-14 11:18:12 -04:00
2020-10-14 11:18:12 -04:00
2020-12-14 14:48:52 -03:00
2020-07-01 18:03:12 -04:00
2020-04-30 09:19:14 -04:00
2020-06-21 06:02:59 -04:00
2020-06-21 06:02:59 -04:00
2020-12-15 17:21:06 +01:00
2020-12-10 20:46:29 +02:00
2020-07-01 14:44:24 -04:00
2020-10-12 12:14:53 -07:00
2020-10-12 11:01:16 -07:00
2020-10-12 11:01:16 -07:00