Ava Chow
413844f1c2
Merge bitcoin/bitcoin#29612 : rpc: Optimize serialization and enhance metadata of dumptxoutset output
...
542e13b293 rpc: Enhance metadata of the dumptxoutset output (Fabian Jahr)
4d8e5edbaa assumeutxo: Add documentation on dumptxoutset serialization format (Fabian Jahr)
c14ed7f384 assumeutxo: Add test for changed coin size value (Fabian Jahr)
de95953d87 rpc: Optimize serialization disk space of dumptxoutset (Fabian Jahr)
Pull request description:
The second attempt at implementing the `dumptxoutset` space optimization as suggested in #25675 . Closes #25675 .
This builds on the work done in #26045 , addresses open feedback, adds some further improvements (most importantly usage of compact size), documentation, and an additional test.
The [original snapshot at height 830,000](https://github.com/bitcoin/bitcoin/pull/29551 ) came in at 10.82 GB. With this change, the same snapshot is 8.94 GB, a reduction of 17.4%.
This also enhances the metadata of the output file and adds the following data to allow for better error handling and make future upgrades easier:
- A newly introduced utxo set magic
- A version number
- The network magic
- The block height
ACKs for top commit:
achow101:
ACK 542e13b293
TheCharlatan:
Re-ACK 542e13b293
theStack:
ACK 542e13b293
Tree-SHA512: 0825d30e5c3c364062db3c6cbca4e3c680e6e6d3e259fa70c0c2b2a7020f24a47406a623582040988d5c7745b08649c31110df4c10656aa25f3f27eb35843d99
2024-05-23 12:31:23 -04:00
..
2024-05-16 11:16:08 -04:00
2024-05-23 12:11:55 -04:00
2024-03-01 13:13:07 -05:00
2023-11-16 11:36:22 +10:00
2024-02-27 18:28:19 +00:00
2024-05-15 13:50:25 +00:00
2024-04-17 17:24:05 -03:00
2024-05-21 10:29:51 +01:00
2024-04-16 17:47:43 +02:00
2023-11-28 12:35:50 -05:00
2024-05-23 12:31:23 -04:00
2022-09-29 16:43:30 +01:00
2023-01-31 18:48:50 +01:00
2024-04-12 14:27:45 +02:00
2024-05-23 12:31:23 -04:00
2024-05-23 11:54:18 -04:00
2024-05-15 15:09:56 -04:00
2024-05-15 18:41:15 +01:00
2024-05-23 12:31:23 -04:00
2024-05-03 11:38:14 -04:00
2024-05-16 10:35:52 +08:00
2024-02-13 20:10:44 +00:00
2024-05-23 12:31:23 -04:00
2024-04-16 16:35:12 +02:00
2024-05-21 10:29:51 +01:00
2024-05-23 10:53:37 -04:00
2024-05-20 16:48:19 +00:00
2023-10-12 11:27:19 +02:00
2023-12-15 15:20:54 +01:00
2024-04-07 14:04:45 +01:00
2024-05-01 08:33:04 +02:00
2023-09-05 10:13:25 +02:00
2023-09-12 12:14:31 -04:00
2023-10-25 22:46:55 +02:00
2024-04-10 17:01:27 +02:00
2024-05-15 15:09:56 -04:00
2024-01-15 16:19:53 -05:00
2023-11-21 17:37:25 +01:00
2023-11-21 17:37:25 +01:00
2023-05-04 20:57:51 +01:00
2023-11-02 14:09:27 -04:00
2023-11-02 14:09:27 -04:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-09-10 16:11:52 -04:00
2023-09-10 16:11:52 -04:00
2024-05-16 11:28:46 +02:00
2024-05-20 16:48:19 +00:00
2024-05-09 15:56:06 +02:00
2024-05-01 08:33:04 +02:00
2024-05-21 10:05:09 +01:00
2024-05-09 15:56:08 +02:00
2024-04-06 19:17:20 +01:00
2024-04-06 19:17:20 +01:00
2023-11-28 12:42:07 +01:00
2023-08-17 18:28:15 +02:00
2022-12-24 23:49:50 +00:00
2024-03-18 11:28:40 -05:00
2023-05-25 19:24:05 +02:00
2023-05-25 19:24:05 +02:00
2023-05-10 10:39:58 +02:00
2023-05-10 10:39:58 +02:00
2024-03-04 19:53:30 -05:00
2023-10-03 10:52:17 +01:00
2024-05-13 23:31:46 +02:00
2024-05-01 08:33:04 +02:00
2023-11-21 13:15:44 +00:00
2023-11-24 14:41:58 +00:00
2023-08-14 17:38:27 -04:00
2023-12-11 18:22:13 +01:00
2024-04-15 10:01:15 +02:00
2024-05-20 16:48:19 +00:00
2024-03-26 16:51:46 +00:00
2023-09-12 12:07:39 +02:00
2023-09-12 12:07:39 +02:00
2023-03-15 16:42:42 +01:00
2023-03-15 16:42:42 +01:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2024-05-16 15:03:13 -04:00
2024-03-27 14:16:37 +00:00
2023-05-20 12:08:13 +02:00
2024-03-11 13:49:37 +01:00
2023-04-03 14:41:22 +01:00
2024-01-05 17:12:38 +01:00
2023-11-16 11:36:22 +10:00
2024-02-01 13:52:05 +01:00
2022-12-12 21:06:04 +00:00
2024-05-14 11:28:43 -04:00
2024-05-01 08:33:04 +02:00
2023-12-04 15:39:15 -04:00
2024-03-13 06:53:07 -04:00
2024-03-01 14:47:29 -05:00
2024-05-16 11:28:46 +02:00
2023-12-04 15:39:15 -04:00
2024-01-16 15:29:18 +01:00
2023-08-14 17:38:27 -04:00
2024-05-09 15:56:10 +02:00
2024-05-09 15:56:10 +02:00
2024-02-11 15:25:07 +01:00
2024-04-02 10:47:05 -04:00
2024-05-21 10:05:09 +01:00
2024-03-12 09:30:42 -03:00
2022-06-23 15:33:01 +02:00
2024-04-12 14:28:34 +02:00
2024-03-04 10:02:26 +00:00
2023-10-19 13:25:49 +01:00
2022-09-13 17:15:17 +01:00
2023-11-20 15:57:50 -03:00
2023-07-19 10:26:11 +01:00
2024-05-21 10:05:09 +01:00
2024-05-01 08:33:04 +02:00
2023-01-28 15:24:13 +00:00
2023-09-13 11:37:45 +01:00
2024-04-07 14:04:45 +01:00
2023-11-28 17:49:41 +01:00
2024-02-28 10:05:56 -03:00
2024-02-28 10:05:56 -03:00
2024-05-15 09:56:17 -04:00
2024-04-10 17:01:27 +02:00
2024-05-20 16:48:19 +00:00
2024-05-21 13:59:33 -04:00
2024-05-07 10:28:58 +08:00
2024-03-01 13:13:07 -05:00
2024-05-15 15:09:56 -04:00
2024-05-01 08:33:04 +02:00
2024-03-01 14:47:28 -05:00
2023-12-06 11:22:42 -05:00
2023-12-02 22:03:08 +01:00
2023-11-20 14:02:27 +01:00
2024-03-21 16:41:16 +01:00
2024-05-02 13:16:40 -06:00
2023-08-14 17:38:27 -04:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2024-01-18 19:29:34 +01:00
2024-02-28 18:03:23 +01:00
2024-05-21 13:59:33 -04:00
2023-11-30 11:28:19 +01:00
2023-11-28 12:42:07 +01:00
2024-05-14 10:24:31 +02:00
2024-05-14 10:24:31 +02:00
2024-05-01 08:33:04 +02:00
2024-02-26 16:13:12 +00:00
2024-05-01 08:33:04 +02:00
2024-05-20 16:48:19 +00:00
2023-01-12 13:42:44 +00:00
2024-02-15 14:43:14 +01:00
2024-02-16 17:12:52 +01:00
2024-05-15 15:09:56 -04:00
2023-11-28 12:42:07 +01:00
2023-12-22 09:58:19 +01:00
2024-04-01 14:37:24 -04:00
2024-04-01 14:37:24 -04:00
2024-05-16 18:16:46 +02:00
2023-10-26 15:02:13 -04:00
2023-01-31 11:50:10 +00:00
2024-01-10 14:11:32 -05:00
2023-08-17 23:58:47 -05:00
2023-09-05 11:37:35 +01:00
2023-08-01 15:27:33 +02:00
2024-05-06 20:34:10 +00:00
2024-05-06 20:34:10 +00:00
2024-05-15 09:56:17 -04:00
2024-05-14 10:32:28 +01:00
2023-12-07 11:06:01 +01:00
2022-12-10 14:34:44 -06:00
2023-06-28 15:12:12 -04:00
2023-11-16 11:36:22 +10:00
2024-05-23 12:31:23 -04:00
2024-05-21 13:38:09 +02:00
2024-02-16 17:12:52 +01:00
2024-02-16 17:12:52 +01:00
2023-01-03 19:31:29 -06:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2024-05-07 14:14:03 -04:00
2024-05-01 14:44:57 +01:00